Speeding up static analysis with the split operator

Vincenzo Arceri,Greta Dolcetti,Enea Zaffanella
DOI: https://doi.org/10.1007/s10009-024-00761-2
2024-08-31
International Journal on Software Tools for Technology Transfer
Abstract:In the context of abstract interpretation-based static analysis, we propose a new abstract operator modeling the split of control flow paths: the goal of the operator is to enable a more efficient analysis when using abstract domains that are computationally expensive, having no negative effect on precision, and occasionally resulting in a more precise analysis. We focus on the case of conditional branches guarded by numeric linear constraints, including implicit numerical branches. We provide an experimental evaluation of real-world test cases, showing that by using the split operator we can achieve significant efficiency improvements with respect to the classical approach for a static analysis based on the domain of convex polyhedra. We also briefly discuss the applicability of this new operator to different, possibly non-numeric abstract domains.
computer science, software engineering
What problem does this paper attempt to address?