Termination detection in logic programs using argument sizes (extended abstract)
PODS '91 Proceedings of the tenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Termination proofs for systems code
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Termination and Cost Analysis with COSTA and its User Interfaces
Electronic Notes in Theoretical Computer Science (ENTCS)
A termination analyzer for Java bytecode based on path-length
ACM Transactions on Programming Languages and Systems (TOPLAS)
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Termination of polynomial programs
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Termination of integer linear programs
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
A new look at the automatic synthesis of linear ranking functions
Information and Computation
Deciding conditional termination
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
On the Termination of Integer Loops
ACM Transactions on Programming Languages and Systems (TOPLAS)
Boosting local consistency algorithms over floating-point numbers
CP'12 Proceedings of the 18th international conference on Principles and Practice of Constraint Programming
Termination proofs for linear simple loops
SAS'12 Proceedings of the 19th international conference on Static Analysis
On the linear ranking problem for integer linear-constraint loops
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Symbolic Path-Oriented Test Data Generation for Floating-Point Programs
ICST '13 Proceedings of the 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation
Proving termination starting from the end
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Hi-index | 0.00 |
Program termination is a hot research topic in program analysis. The last few years have witnessed the development of termination analyzers for programming languages such as C and Java with remarkable precision and performance. These systems are largely based on techniques and tools coming from the field of declarative constraint programming. In this paper, we first recall an algorithm based on Farkas' Lemma for discovering linear ranking functions proving termination of a certain class of loops. Then we propose an extension of this method for showing the existence of eventual linear ranking functions, i.e., linear functions that become ranking functions after a finite unrolling of the loop. We show correctness and completeness of this algorithm.