Affiliation:
1. Microsoft Research
2. Queen Mary, University of London
Abstract
An invariance assertion for a program location
l
is a statement that always holds at
l
during execution of the program. Program invariance analyses infer invariance assertions that can be useful when trying to prove safety properties. We use the term
variance assertion
to mean a statement that holds between any state at
l
and any previous state that was also at
l
. This paper is concerned with the development of analyses for variance assertions and their application to proving termination and liveness properties. We describe a method of constructing program variance analyses from invariance analyses. If we change the underlying invariance analysis, we get a different variance analysis. We describe several applications of the method, including variance analyses using linear arithmetic and shape analysis. Using experimental results we demonstrate that these variance analyses give rise to a new breed of termination provers which are competitive with and sometimes better than today's state-of-the-art termination provers.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
20 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Extending the range of bugs that automated program repair can handle;Journal of Systems and Software;2024-03
2. Towards Extending the Range of Bugs That Automated Program Repair Can Handle;2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS);2022-12
3. Termination analysis without the tears;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
4. Algebraic Program Analysis;Computer Aided Verification;2021
5. Inference of ranking functions for proving temporal properties by abstract interpretation;Computer Languages, Systems & Structures;2017-01