Artifact for "A Product of Shape and Sequence Abstractions"
Creators
- 1. INRIA Paris/CNRS/École Normale Supérieure/PSL Research University
- 2. IMDEA Software Institute, Madrid, Spain/Univ Rennes, F-35000 Rennes, France
Description
This artifact contains a modified version of the MemCAD static analyzer. It is an experimental tool for program verification, that focuses mainly on memory properties. MemCAD is a static analyzer for C programs, specialized in the inference and verification of memory properties. It performs a forward analysis by abstract interpretation. More precisely, it starts from abstract pre-conditions and computes abstract post-conditions. Unless specified otherwise, the pre-condition assumes an empty memory state (no variable is defined) The analysis is designed to be sound, which means that the invariants it computes should over-approximate the concrete behaviors of the analyzed program. To allow for the verification of a code fragment under some assumption (e.g., that a function is called in a state where some structures are already built and stored in memory), the analyzer features specific assumption commands.
The extension brings sequence predicates to constrain precisely the content of dynamic data-structures. It is therefore
able to prove sorting algorithms (insertion sort, bubble sort, and heap sort), without providing loop invariants.
Files
Files
(6.9 GB)
Name | Size | Download all |
---|---|---|
md5:790d51d3f33ef809b1649f11593d7b30
|
6.9 GB | Download |
Additional details
Funding
- VeriAMOS – Verified Abstract Machines for Operating Systems ANR-18-CE25-0010
- Agence Nationale de la Recherche