packages feed

dhscanner-bitcode-1.0.4: dhscanner-bitcode.cabal

cabal-version:      3.0
name:               dhscanner-bitcode
category:           sast
synopsis:           Intermediate language for static code analysis
description:

    The [intermediate language \/ intermediate representation \/ bitcode](https://en.wikipedia.org/wiki/Intermediate_representation#Intermediate_language)
    (IL \/ IR \/ bitcode) is a data structure able to represent code originating from /multiple/
    programming languages. Its main purpose is to enable an efficient and uniform /static code analysis/,
    as part of the [dhscanner](https://github.com/OrenGitHub/dhscanner) framework
    for [CI/CD](https://en.wikipedia.org/wiki/CI/CD) container security checks.
    As part of that framework, it targets mostly languages used for /cloud native applications/:
    __Python__, __Ruby__, __Php__, __Javascript__, __Typescript__, __Java__, __C#__ and __Golang__.
    Typically, a collection of files are first parsed using relevant
    [parsers](https://github.com/OrenGitHub/dhscanner.1.parsers), then,
    the resulting collection of abstract syntax trees is sent to code generation,
    where it is translated into a collection of /callables/.
    A callable is a sequence of commands corresponding to either a function, a method
    or (in languages like python) a script. The design of commands was done with simplicity
    in mind. The commands resemble an abstract RISC-style assembley, motivated by keeping
    later-phases analyses as simple as possible.

version:            1.0.4
license:            GPL-3.0-only
license-file:       LICENSE
author:             OrenGitHub
maintainer:         Oren Ish Shalom
copyright:          (c) 2024 Oren Ish Shalom
homepage:           https://github.com/OrenGitHub/dhscanner
stability:          experimental
build-type:         Simple

common warnings
    ghc-options: -Wall

library

    import:
        warnings

    exposed-modules:
        Bitcode,
        Callable,
        Cfg,
        Fqn

    build-depends:
        aeson >= 2.2.3 && < 2.3,
        base >= 4.17.2 && < 4.18,
        containers >= 0.6.7 && < 0.7,
        dhscanner-ast >= 0.1.0.8,

    hs-source-dirs:
        src

    default-language:
        Haskell2010

test-suite dhscanner-bitcode-test

    import:
        warnings

    type:
        exitcode-stdio-1.0

    hs-source-dirs:
        test

    main-is:
        Main.hs

    build-depends:
        base,
        dhscanner-ast,
        dhscanner-bitcode,
        containers,
        QuickCheck,
        random

    default-language:
        Haskell2010