Info: Zenodo’s user support line is staffed on regular business days between Dec 23 and Jan 5. Response times may be slightly longer than normal.

Published July 26, 2023 | Version v1
Conference paper Open

Artifact for "A Product of Shape and Sequence Abstractions"

  • 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