POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A static analyzer for large safety-critical software
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Higher-Order and Symbolic Computation
The trace partitioning abstract domain
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special Issue ESOP'05
Proving the absence of run-time errors in safety-critical avionics code
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
The Verification Grand Challenge and Abstract Interpretation
Verified Software: Theories, Tools, Experiments
Formal Methods in System Design
Combination of abstractions in the ASTRÉE static analyzer
ASIAN'06 Proceedings of the 11th Asian computing science conference on Advances in computer science: secure software and related issues
Deriving numerical abstract domains via principal component analysis
SAS'10 Proceedings of the 17th international conference on Static analysis
Static analysis for software assurance: soundness, scalability and adaptiveness
Proceedings of the FSE/SDP workshop on Future of software engineering research
Static analysis by abstract interpretation of embedded critical software
ACM SIGSOFT Software Engineering Notes
An abstract interpretation framework for termination
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Discovering invariants via simple component analysis
Journal of Symbolic Computation
Normalisation of Loops with Covariant Variables
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
We present a new numerical abstract domain. This domain automatically detects and proves bounds on the values of program variables. For that purpose, it relates variable values to a clock counter. More precisely, it bounds these values with the i-th iterate of the function [X↦α×X+β] applied on M, where i denotes the clock counter and the floating-point numbers α, β, and M are discovered by the analysis. Such properties are especially useful to analyze loops in which a variable is iteratively assigned with a barycentric mean of the values that were associated with the same variable at some previous iterations. Because of rounding errors, the computation of this barycenter may diverge when the loop is iterated forever. Our domain provides a bound that depends on the execution time of the program.