Program termination is central to the process of ensuring that reactive systems can always react. We describe a new interprocedural, path-sensitive and context-sensitive program termination prover that provides capacity for large program fragments (i.e. more than 20,000 lines of code) together with support for programming lan-guage features such as arbitrarily nested loops, pointers, function-pointers, side-effects, etc. We also present experimental results on device driver dispatch routines from the Windows operating system. The most distinguishing aspect of our tool is how it shifts the balance between the two tasks of constructing and respectively checking the termination argument. Checking becomes the hard step. In this paper we show ho...
Termination is well-known to be one of the most intriguing aspects of program verification. Since lo...
We present a constraint-based method for proving conditional termination of integer programs. Buildi...
Concurrent programs are often designed such that certain functions executing within critical threads...
Program termination is central to the process of ensuring that systems code can always react. We des...
Program termination is central to the process of ensuring that systems code can always react. We des...
One way to develop more robust software is to use formal program verification. Formal program verifi...
Modern termination provers rely on a safety checker to construct disjunctively well-founded transiti...
We describe a new program termination analysis designed to handle imperative programs whose termina...
Abstract. We describe a new program termination analysis designed to handle imperative programs whos...
The problem of determining whether or not any program terminates was shown to be undecidable by Turi...
Abstract. Proving termination automatically for programs with ex-plicit pointer arithmetic is still ...
Abstract. Proving termination automatically for programs with ex-plicit pointer arithmetic is still ...
International audienceThis paper describes our generic framework for detecting termination of progra...
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...
Termination is well-known to be one of the most intriguing aspects of program verification. Since lo...
We present a constraint-based method for proving conditional termination of integer programs. Buildi...
Concurrent programs are often designed such that certain functions executing within critical threads...
Program termination is central to the process of ensuring that systems code can always react. We des...
Program termination is central to the process of ensuring that systems code can always react. We des...
One way to develop more robust software is to use formal program verification. Formal program verifi...
Modern termination provers rely on a safety checker to construct disjunctively well-founded transiti...
We describe a new program termination analysis designed to handle imperative programs whose termina...
Abstract. We describe a new program termination analysis designed to handle imperative programs whos...
The problem of determining whether or not any program terminates was shown to be undecidable by Turi...
Abstract. Proving termination automatically for programs with ex-plicit pointer arithmetic is still ...
Abstract. Proving termination automatically for programs with ex-plicit pointer arithmetic is still ...
International audienceThis paper describes our generic framework for detecting termination of progra...
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...
Termination is well-known to be one of the most intriguing aspects of program verification. Since lo...
We present a constraint-based method for proving conditional termination of integer programs. Buildi...
Concurrent programs are often designed such that certain functions executing within critical threads...