@bibtex{ 2102.03824,
Author = "Giacobbe, Mirco and Kroening, Daniel and Parsert, Julian",
Abstract = "We introduce a novel approach to the automated termination analysis of computer programs: we train neural networks to act as ranking functions. Ranking functions map program states to values that are bounded from below and decrease as the program runs. The existence of a valid ranking function proves that the program terminates. While in the past ranking functions were usually constructed using static analysis, our method learns them from sampled executions. We train a neural network so that its output decreases along execution traces as a ranking function would; then, we use formal reasoning to verify whether it generalises to all possible executions. We present a custom loss function for learning lexicographic ranking functions and use satisfiability modulo theories for verification. Thanks to the ability of neural networks to generalise well, our method succeeds over a wide variety of programs. This includes programs that use data structures from standard libraries. We built a prototype analyser for Java bytecode and show the efficacy of our method over a standard dataset of benchmarks.",
date-added = "2021-03-10 15:55:58 +0100",
date-modified = "2021-03-10 15:55:59 +0100",
EPrint = "arXiv:2102.03824",
EPrintType = "arXiv",
Title = "{N}eural {T}ermination {A}nalysis",
URL = "http://arxiv.org/abs/2102.03824",
Year = "2021",
bdsk-url-1 = "http://arxiv.org/abs/2102.03824",
File = "2102.03824 - c.pdf"
}
Library Size: 13G (12941 entries),
Last Updated: Apr 04, 2026, 18:14:59,
Build Time: N/A