Deductive software verification: from pen-and-paper proofs to industrial tools
Deductive software verification aims at formally verifying that all possible behaviors of a
given program satisfy formally defined, possibly complex properties, where the verification …
given program satisfy formally defined, possibly complex properties, where the verification …
Analyzing Program Termination and Complexity Automatically with AProVE
In this system description, we present the tool AProVE for automatic termination and
complexity proofs of Java, C, Haskell, Prolog, and rewrite systems. In addition to classical …
complexity proofs of Java, C, Haskell, Prolog, and rewrite systems. In addition to classical …
Reducing energy consumption using genetic improvement
Genetic Improvement (GI) is an area of Search Based Software Engineering which seeks to
improve software's non-functional properties by treating program code as if it were genetic …
improve software's non-functional properties by treating program code as if it were genetic …
SMT-RAT: An Open Source C++ Toolbox for Strategic and Parallel SMT Solving
During the last decade, popular SMT solvers have been extended step-by-step with a wide
range of decision procedures for different theories. Some SMT solvers also support the user …
range of decision procedures for different theories. Some SMT solvers also support the user …
JayHorn: A Framework for Verifying Java programs
Building a competitive program verifiers is becoming cheaper. On the front-end side, openly
available compiler infrastructure and optimization frameworks take care of hairy problems …
available compiler infrastructure and optimization frameworks take care of hairy problems …
Improving bit-blasting for nonlinear integer constraints
Nonlinear integer constraints are common and difficult in the verification and analysis of
software/hardware. SMT (QF_NIA) generalizes such constraints, which is a boolean …
software/hardware. SMT (QF_NIA) generalizes such constraints, which is a boolean …
T2: Temporal Property Verification
We present the open-source tool T2, the first public release from the TERMINATOR project
[9]. T2 has been extended over the past decade to support automatic temporal-logic proving …
[9]. T2 has been extended over the past decade to support automatic temporal-logic proving …
Analyzing runtime and size complexity of integer programs
We present a modular approach to automatic complexity analysis of integer programs.
Based on a novel alternation between finding symbolic time bounds for program parts and …
Based on a novel alternation between finding symbolic time bounds for program parts and …
Analysing the complexity of functional programs: higher-order meets first-order
We show how the complexity of higher-order functional programs can be analysed
automatically by applying program transformations to a defunctionalised versions of them …
automatically by applying program transformations to a defunctionalised versions of them …
DynamiTe: dynamic termination and non-termination proofs
There is growing interest in termination reasoning for nonlinear programs and, meanwhile,
recent dynamic strategies have shown they are able to infer invariants for such challenging …
recent dynamic strategies have shown they are able to infer invariants for such challenging …