|Publication Type||Conference Paper|
|Year of Publication||2013|
|Authors||Bagnara R, Mesnard F|
|Editor||Peña R, Schrijvers T|
|Conference Name||15th International Symposium on Principles and Practice of Declarative Programming (PPDP 2013)|
|Conference Location||Madrid, Spain|
|Keywords||ranking functions, software verification, static analysis, termination analysis|
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.