qute

A software analysis framework built around the QBE intermediate language

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

 1cabal-version:      3.4
 2name:               qute-cli
 3version:            0.1.0
 4synopsis:           Command-line interface for the Qute software analysis framework.
 5description:
 6  This package provides a command-line interface for the software analysis framework
 7  [Qute](https://hackage.haskell.org/package/qute). Specifically, it includes a concrete
 8  simulator for the [QBE intermediate language](https://c9x.me/compile/) targeted by Qute
 9  and a [symbolic executor](https://en.wikipedia.org/wiki/Symbolic_execution) based on
10  Qute's [symbolic semantics](https://hackage.haskell.org/package/qute-symex). Further,
11  it provides a library with utility modules needed for this purpose. This, for example,
12  includes an implementation of the [KTest format](https://notes.8pit.net/notes/c8o8.html).
13license:            GPL-3.0-only AND MIT
14-- license-file:
15author:             Sören Tempel
16maintainer:         soeren+hackage@soeren-tempel.net
17-- copyright:
18category:           Language
19build-type:         Simple
20homepage:           https://git.8pit.net/qute
21bug-reports:        https://github.com/nmeum/qute/issues
22
23source-repository head
24    type: git
25    location: https://git.8pit.net/qute.git
26
27common warnings
28    -- -Wall-missed-specializations can be useful too
29    ghc-options: -Wall
30
31common opts
32    ghc-options: -fspecialise-aggressively
33
34library
35    import:           warnings, opts
36    hs-source-dirs:   src
37    default-language: GHC2021
38
39    build-depends:
40      base,
41      binary,
42      bytestring,
43      containers,
44      qute,
45      qute-symex,
46      qute-syntax,
47      optparse-applicative >=0.17.0.0
48
49    exposed-modules:
50      Data.KTest,
51      Language.QBE.CmdLine
52
53executable qute
54    import:               warnings, opts
55    main-is:              Main.hs
56    hs-source-dirs:       app/qute
57    default-language:     GHC2021
58    build-depends:
59      base,
60      qute,
61      qute-cli,
62      qute-syntax,
63      optparse-applicative
64
65executable qute-symex
66    import:               warnings, opts
67    main-is:              Main.hs
68    hs-source-dirs:       app/qute-symex
69    default-language:     GHC2021
70    build-depends:
71      base,
72      qute,
73      qute-cli,
74      qute-symex,
75      qute-syntax,
76      mtl,
77      filepath,
78      binary,
79      directory,
80      optparse-applicative
81
82test-suite qute-cli-test
83    import:           warnings
84    default-language: GHC2021
85    type:             exitcode-stdio-1.0
86    hs-source-dirs:   test
87    main-is:          Main.hs
88
89    other-modules:
90      KTest
91
92    build-depends:
93        base,
94        binary,
95        bytestring,
96        qute-cli,
97        tasty        >=1.4.3,
98        tasty-hunit  >=0.10