This works studies abstract backward semantics to infer sufcient program preconditions, based on an idea rst proposed in previous work [38]. This analysis exploits under-approximated domain operators, demonstrated in [38] for the polyhedra domain, to under-approximate Dijkstra's liberal precondition. The results of the analysis were implemented into a static analysis tool for a toy language. In this paper we address some limitations that hinder its applicability to C-like programs. In particular, we focus on two improvements: handling of user input and integer wrapping. For this, we extend the semantic and design sound and eective abstractions. Furthermore, to improve the precision, we explore an under-approximated version of the power-set construction. This in particular helps handling arbitrary union that is dicult to implement with under-approximated domains. The improved analysis is implemented and its performance is compared with other static analysis tools in SV-COMP23 using a selected subset of benchmarks.
Authors
Organizations mentioned
- Bibliographic Reference
- Marco Milanese, Antoine Miné. Generation of Violation Witnesses by Under-Approximating Abstract Interpretation. 2023. ⟨hal-04317611⟩
- HAL Collection
- ['CNRS - Centre national de la recherche scientifique', "Laboratoire d'Informatique de Paris 6", 'Sorbonne Université', 'Sorbonne Université 01/01/2018', 'Faculté des Sciences de Sorbonne Université', 'Sorbonne Université - Texte Intégral', 'Alliance Sorbonne Université']
- HAL Identifier
- 4317611
- Laboratory
- LIP6
- Published in
- France