Refining Abstract Interpretation Based Value Analysis with Constraint Programming Techniques
- Cite this paper as:
- Ponsini O., Michel C., Rueher M. (2012) Refining Abstract Interpretation Based Value Analysis with Constraint Programming Techniques. In: Milano M. (eds) Principles and Practice of Constraint Programming. Lecture Notes in Computer Science, vol 7514. Springer, Berlin, Heidelberg
Abstract interpretation based value analysis is a classical approach for verifying programs with floating-point computations. However, state-of-the-art tools compute an over-approximation of the variable values that can be very coarse. In this paper, we show that constraint solvers can significantly refine the approximations computed with abstract interpretation tools. We introduce a hybrid approach that combines abstract interpretation and constraint programming techniques in a single static and automatic analysis. rAiCp, the system we developed is substantially more precise than Fluctuat, a state-of-the-art static analyser. Moreover, it could eliminate 13 false alarms generated by Fluctuat on a standard set of benchmarks.
KeywordsProgram verification Floating-point computation Constraint solvers over floating-point numbers Constraint solvers over real number intervals Abstract interpretation-based approximation
Unable to display preview. Download preview PDF.