Analysis and transformation of constrained Horn clauses for program verification
This paper surveys recent work on applying analysis and transformation techniques that
originate in the field of constraint logic programming (CLP) to the problem of verifying …
originate in the field of constraint logic programming (CLP) to the problem of verifying …
The SeaHorn verification framework
In this paper, we present SeaHorn, a software verification framework. The key distinguishing
feature of SeaHorn is its modular design that separates the concerns of the syntax of the …
feature of SeaHorn is its modular design that separates the concerns of the syntax of the …
From datalog to flix: A declarative language for fixed points on lattices
We present Flix, a declarative programming language for specifying and solving least fixed
point problems, particularly static program analyses. Flix is inspired by Datalog and extends …
point problems, particularly static program analyses. Flix is inspired by Datalog and extends …
Fifty years of Prolog and beyond
Both logic programming in general and Prolog in particular have a long and fascinating
history, intermingled with that of many disciplines they inherited from or catalyzed. A large …
history, intermingled with that of many disciplines they inherited from or catalyzed. A large …
String constraints for verification
We present a decision procedure for a logic that combines (i) word equations over string
variables denoting words of arbitrary lengths, together with (ii) constraints on the length of …
variables denoting words of arbitrary lengths, together with (ii) constraints on the length of …
Disjunctive interpolants for Horn-clause verification
One of the main challenges in software verification is efficient and precise compositional
analysis of programs with procedures and loops. Interpolation methods remains one of the …
analysis of programs with procedures and loops. Interpolation methods remains one of the …
Energy consumption analysis of programs based on XMOS ISA-level models
Energy consumption analysis of embedded programs requires the analysis of low-level
program representations. This is challenging because the gap between the high-level …
program representations. This is challenging because the gap between the high-level …
Interval-based resource usage verification by translation into Horn clauses and an application to energy consumption
P Lopez-Garcia, L Darmawan, M Klemen… - Theory and Practice of …, 2018 - cambridge.org
Many applications require conformance with specifications that constrain the use of
resources, such as execution time, energy, bandwidth, etc. We present a configurable …
resources, such as execution time, energy, bandwidth, etc. We present a configurable …
Cost analysis of smart contracts via parametric resource analysis
V Pérez, M Klemen, P López-García, JF Morales… - Static Analysis: 27th …, 2020 - Springer
The very nature of smart contracts and blockchain platforms, where program execution and
storage are replicated across a large number of nodes, makes resource consumption …
storage are replicated across a large number of nodes, makes resource consumption …
Inferring parametric energy consumption functions at different software levels: ISA vs. LLVM IR
The static estimation of the energy consumed by program executions is an important
challenge, which has applications in program optimization and verification, and is …
challenge, which has applications in program optimization and verification, and is …