Proving non-termination by program reversal
Chatterjee K, Goharshady EK, Novotný P, Zikelic D. 2021. Proving non-termination by program reversal. Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation. PLDI: Programming Language Design and Implementation, 1033–1048.
Download (ext.)
https://arxiv.org/abs/2104.01189
[Preprint]
Conference Paper
| Published
| English
Scopus indexed
Author
Department
Abstract
We present a new approach to proving non-termination of non-deterministic integer programs. Our technique is rather simple but efficient. It relies on a purely syntactic reversal of the program's transition system followed by a constraint-based invariant synthesis with constraints coming from both the original and the reversed transition system. The latter task is performed by a simple call to an off-the-shelf SMT-solver, which allows us to leverage the latest advances in SMT-solving. Moreover, our method offers a combination of features not present (as a whole) in previous approaches: it handles programs with non-determinism, provides relative completeness guarantees and supports programs with polynomial arithmetic. The experiments performed with our prototype tool RevTerm show that our approach, despite its simplicity and stronger theoretical guarantees, is at least on par with the state-of-the-art tools, often achieving a non-trivial improvement under a proper configuration of its parameters.
Publishing Year
Date Published
2021-06-01
Proceedings Title
Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation
Publisher
Association for Computing Machinery
Acknowledgement
We thank the anonymous reviewers for their helpful comments. This research was partially supported by the ERCCoG 863818 (ForM-SMArt) and the Czech Science Foundation grant No. GJ19-15134Y.
Page
1033-1048
Conference
PLDI: Programming Language Design and Implementation
Conference Location
Online
Conference Date
2021-06-20 – 2021-06-26
ISBN
IST-REx-ID
Cite this
Chatterjee K, Goharshady EK, Novotný P, Zikelic D. Proving non-termination by program reversal. In: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation. Association for Computing Machinery; 2021:1033-1048. doi:10.1145/3453483.3454093
Chatterjee, K., Goharshady, E. K., Novotný, P., & Zikelic, D. (2021). Proving non-termination by program reversal. In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (pp. 1033–1048). Online: Association for Computing Machinery. https://doi.org/10.1145/3453483.3454093
Chatterjee, Krishnendu, Ehsan Kafshdar Goharshady, Petr Novotný, and Dorde Zikelic. “Proving Non-Termination by Program Reversal.” In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, 1033–48. Association for Computing Machinery, 2021. https://doi.org/10.1145/3453483.3454093.
K. Chatterjee, E. K. Goharshady, P. Novotný, and D. Zikelic, “Proving non-termination by program reversal,” in Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, Online, 2021, pp. 1033–1048.
Chatterjee K, Goharshady EK, Novotný P, Zikelic D. 2021. Proving non-termination by program reversal. Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation. PLDI: Programming Language Design and Implementation, 1033–1048.
Chatterjee, Krishnendu, et al. “Proving Non-Termination by Program Reversal.” Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, Association for Computing Machinery, 2021, pp. 1033–48, doi:10.1145/3453483.3454093.
All files available under the following license(s):
Copyright Statement:
This Item is protected by copyright and/or related rights. [...]
Link(s) to Main File(s)
Access Level
Open Access
Material in ISTA:
Dissertation containing ISTA record
Research Data
Export
Marked PublicationsOpen Data ISTA Research Explorer
Web of Science
View record in Web of Science®Sources
arXiv 2104.01189