quebex

A software analysis framework built around the QBE intermediate language

git clone https://git.8pit.net/quebex.git

  1cabal-version:      3.4
  2name:               quebex-symex
  3version:            0.1.0.0
  4-- synopsis:
  5-- description:
  6license:            GPL-3.0-only AND MIT
  7-- license-file:
  8author:             Sören Tempel
  9maintainer:         soeren+git@soeren-tempel.net
 10-- copyright:
 11category:           Language
 12build-type:         Simple
 13-- extra-doc-files:
 14-- extra-source-files:
 15
 16common warnings
 17    -- -Wall-missed-specializations can be useful too
 18    ghc-options: -Wall
 19
 20common opts
 21    ghc-options: -fspecialise-aggressively
 22
 23library
 24    import:           warnings, opts
 25    -- other-modules:
 26    hs-source-dirs:   src
 27    default-language: GHC2021
 28
 29    build-depends:
 30      base,
 31      deepseq,
 32      mtl,
 33      directory,
 34      containers,
 35      exceptions,
 36      random,
 37      quebex,
 38      quebex-syntax,
 39      simple-smt
 40
 41    exposed-modules:
 42      SimpleBV,
 43      Language.QBE.Backend,
 44      Language.QBE.Backend.Model,
 45      Language.QBE.Backend.Store,
 46      Language.QBE.Backend.ExecTree,
 47      Language.QBE.Backend.DFS,
 48      Language.QBE.Backend.Tracer,
 49      Language.QBE.Simulator.Explorer,
 50      Language.QBE.Simulator.Symbolic.Expression,
 51      Language.QBE.Simulator.Concolic.State,
 52      Language.QBE.Simulator.Concolic.Expression
 53
 54benchmark quebex-symex
 55    import:           warnings, opts
 56    default-language: GHC2021
 57    type:             exitcode-stdio-1.0
 58    hs-source-dirs:   bench
 59    main-is:          Main.hs
 60
 61    other-modules:
 62      SMTUnwind,
 63      SMT,
 64      Exec
 65
 66    build-depends:
 67      base,
 68      criterion ^>= 1.6.4.0,
 69      mtl,
 70      simple-smt,
 71      process,
 72      filepath,
 73      quebex,
 74      quebex-syntax,
 75      quebex-symex
 76
 77test-suite quebex-symex-test
 78    import:           warnings
 79    default-language: GHC2021
 80    type:             exitcode-stdio-1.0
 81    hs-source-dirs:   test
 82    main-is:          Main.hs
 83
 84    other-modules:
 85      Util,
 86      Golden,
 87      Backend,
 88      Explorer,
 89      Symbolic,
 90      Concolic,
 91      BV
 92
 93    build-depends:
 94        base,
 95        filepath,
 96        containers,
 97        random,
 98        quebex,
 99        quebex-syntax,
100        quebex-symex,
101        simple-smt,
102        tasty            >=1.4.3,
103        tasty-hunit      >=0.10,
104        tasty-golden     >=2.3.5,
105        tasty-quickcheck >=0.10.2