We show how Max-SMT-based invariant generation can be exploited for proving non-termination of programs. The construction of the proof of non-termination is guided by the generation of quasi-invariants - properties such that if they hold at a location during execution once, then they will continue to hold at that location from then onwards. The check that quasi-invariants can indeed be reached is then performed separately. Our technique considers strongly connected subgraphs of a program's control flow graph for analysis and thus produces more generic witnesses of non-termination than existing methods. Moreover, it can handle programs with unbounded non-determinism and is more likely to converge than previous approaches.Peer Reviewe
In this paper, we present a new approach to non-termination analysis of logic programs, based on mod...
We can prove termination of C programs by computing 'strong enough' transition invariants by abastra...
Abstract. Proving program termination is typically done by finding a well-founded ranking function f...
We show how Max-SMT-based invariant generation can be exploited for proving non-termination of progr...
Abstract. We show how Max-SMT-based invariant generation can be exploited for proving non-terminatio...
Abstract. We show how Max-SMT-based invariant generation can be exploited for proving non-terminatio...
The search for reliable and scalable automated methods for finding counterexamples to termination or...
We show how Max-SMT can be exploited in constraint-based program termination proving. Thanks to expr...
We present a new approach to proving non-termination of non-deterministic integer programs. Our tech...
Abstract. Developing reliable programs and proving their total correctness is hard. Not only do we h...
The search for proof and the search for counterexamples (bugs) are complementary activities that nee...
While termination checking tailored to real-world library code or frameworks has received ever-incre...
While termination checking tailored to real-world library code or frameworks has received ever-incre...
Proving program termination is typically done by finding a well-founded ranking function for the pro...
We present the first approach to prove non-termination of integer programs that is based on loop acc...
In this paper, we present a new approach to non-termination analysis of logic programs, based on mod...
We can prove termination of C programs by computing 'strong enough' transition invariants by abastra...
Abstract. Proving program termination is typically done by finding a well-founded ranking function f...
We show how Max-SMT-based invariant generation can be exploited for proving non-termination of progr...
Abstract. We show how Max-SMT-based invariant generation can be exploited for proving non-terminatio...
Abstract. We show how Max-SMT-based invariant generation can be exploited for proving non-terminatio...
The search for reliable and scalable automated methods for finding counterexamples to termination or...
We show how Max-SMT can be exploited in constraint-based program termination proving. Thanks to expr...
We present a new approach to proving non-termination of non-deterministic integer programs. Our tech...
Abstract. Developing reliable programs and proving their total correctness is hard. Not only do we h...
The search for proof and the search for counterexamples (bugs) are complementary activities that nee...
While termination checking tailored to real-world library code or frameworks has received ever-incre...
While termination checking tailored to real-world library code or frameworks has received ever-incre...
Proving program termination is typically done by finding a well-founded ranking function for the pro...
We present the first approach to prove non-termination of integer programs that is based on loop acc...
In this paper, we present a new approach to non-termination analysis of logic programs, based on mod...
We can prove termination of C programs by computing 'strong enough' transition invariants by abastra...
Abstract. Proving program termination is typically done by finding a well-founded ranking function f...