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      mtl,
32      containers,
33      random,
34      quebex,
35      quebex-syntax,
36      simple-smt
37
38    exposed-modules:
39      Language.QBE.Backend,
40      Language.QBE.Backend.Model,
41      Language.QBE.Backend.Store,
42      Language.QBE.Backend.ExecTree,
43      Language.QBE.Backend.DFS,
44      Language.QBE.Backend.Tracer,
45      Language.QBE.Simulator.Explorer,
46      Language.QBE.Simulator.Symbolic.Folding,
47      Language.QBE.Simulator.Symbolic.Expression,
48      Language.QBE.Simulator.Concolic.State,
49      Language.QBE.Simulator.Concolic.Expression
50
51benchmark quebex-symex
52    import:           warnings, opts
53    default-language: GHC2021
54    type:             exitcode-stdio-1.0
55    hs-source-dirs:   bench
56    main-is:          Main.hs
57
58    other-modules:
59      SMTUnwind,
60      SMT,
61      Exec
62
63    build-depends:
64      base,
65      criterion ^>= 1.6.4.0,
66      mtl,
67      simple-smt,
68      process,
69      filepath,
70      quebex,
71      quebex-syntax,
72      quebex-symex
73
74test-suite quebex-symex-test
75    import:           warnings
76    default-language: GHC2021
77    type:             exitcode-stdio-1.0
78    hs-source-dirs:   test
79    main-is:          Main.hs
80
81    other-modules:
82      Util,
83      Golden,
84      Backend,
85      Explorer,
86      Symbolic,
87      Concolic,
88
89    build-depends:
90        base,
91        filepath,
92        containers,
93        quebex,
94        quebex-syntax,
95        quebex-symex,
96        simple-smt,
97        tasty        >=1.4.3,
98        tasty-hunit  >=0.10,
99        tasty-golden >=2.3.5