qute: A software analysis framework built around the QBE intermediate language.
This library provides formal semantics for the QBE intermediate language
by providing modular monadic semantics implemented using
an abstract monad. The package refers to this abstract monad as
the Language.QBE.Simulator.State.Simulator monad. It provides several primitives that are used by
the Language.QBE.Simulator to abstractly describe the semantics of QBE instructions. The
Language.QBE.Simulator.State.Simulator can then be instantiated with concrete semantics. For
example, the Language.QBE.Simulator.Default.State module provides an instantiation using a
Control.Monad.State monad. This instantiation, and the Language.QBE.Simulator.State.Simulator
itself, are parameterized over the representation of QBE instruction operand values.
To abstractly describe operations on values passed to QBE instructions, this library additionally provides an expression language abstraction in the Language.QBE.Simulator.Expression module. Further, an implementation of this expression language based on fixed-width integer values is available in the Language.QBE.Simulator.Default.Expression module.
A separate qute-symex package provides an
implementation of the expression abstraction and the Language.QBE.Simulator.State.Simulator
monad for formal reasoning about a software under test using
symbolic execution.
Similar dynamic software testing techniques can be implemented using this library. Additionally,
there is some preliminary support for static analysis as well through the
Language.QBE.Analysis.CFG module.
More information on the underlying idea and vision behind Qute is available in a separate paper.
Downloads
- qute-0.1.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0 |
|---|---|
| Dependencies | array (>=0.5.4.0 && <0.6), base (>=4.16.4.0 && <4.23), containers (>=0.6.5.1 && <0.9), deepseq (>=1.4.6.1 && <1.6), exceptions (>=0.10.4 && <0.11), mtl (>=2.2.2 && <2.4), parsec (>=3.1.15 && <3.19), qute-syntax (>=0.1 && <0.2), template-haskell (>=2.18.0.0 && <2.25) [details] |
| License | GPL-3.0-only AND MIT AND BSD-3-Clause |
| Author | Sören Tempel |
| Maintainer | soeren+hackage@soeren-tempel.net |
| Uploaded | by nmeum at 2026-08-25T11:04:33Z |
| Category | Language |
| Home page | https://git.8pit.net/qute |
| Bug tracker | https://github.com/nmeum/qute/issues |
| Source repo | head: git clone https://git.8pit.net/qute.git |
| Distributions | |
| Reverse Dependencies | 2 direct, 0 indirect [details] |
| Downloads | 3 total (3 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2026-08-25 [all 1 reports] |