We study the problem of proving termination of open, higher-order programs with recursive functions and datatypes. We identify a new point in the design space of solutions, with an appealing trade-off between simplicity of specification, modularity, and amenability to automation. Specifically, we consider termination of open expressions in the presence of higher-order, recursive functions, and introduce a new notion of termination that is conditioned on the termination of the callbacks made by the expressions. For closed expressions our definition coincides with the traditional definition of termination. We derive sound proof obligations for establishing termination modulo callbacks, and develop a modular approach for verifying the obligati...
Automatic termination proofs of functional programming languages are an often challenged problem Mos...
AbstractWe survey termination analysis techniques for Logic Programs. We give an extensive introduct...
Non-termination is the root cause of a variety of program bugs, such as hanging programs and denial...
Abstract. We present an automated approach to verifying termination of higher-order functional progr...
Abstract. We present an automated approach to verifying termination of higher-order functional progr...
One way to develop more robust software is to use formal program verification. Formal program verifi...
In principle termination analysis is easy: find a well-founded partial order and prove that calls de...
We present a new modular proof method of termination for second-order computation, and report its im...
The termination assertion p〈S〉 q means that whenever the formula p is true, there is an execution of...
When disproving termination using known techniques (e.g. recurrence sets), abstractions that overapp...
Termination is an important property for programs and is necessary for formal proofs to make sense. ...
Abstract. We propose an automated method for disproving termina-tion of higher-order functional prog...
Abstract. We propose an automated method for disproving termina-tion of higher-order functional prog...
http://dx.doi.org/10.1007/11916277_1International audienceTermination is a major question in both lo...
AbstractWe propose means to predict termination in a higher-order imperative and concurrent language...
Automatic termination proofs of functional programming languages are an often challenged problem Mos...
AbstractWe survey termination analysis techniques for Logic Programs. We give an extensive introduct...
Non-termination is the root cause of a variety of program bugs, such as hanging programs and denial...
Abstract. We present an automated approach to verifying termination of higher-order functional progr...
Abstract. We present an automated approach to verifying termination of higher-order functional progr...
One way to develop more robust software is to use formal program verification. Formal program verifi...
In principle termination analysis is easy: find a well-founded partial order and prove that calls de...
We present a new modular proof method of termination for second-order computation, and report its im...
The termination assertion p〈S〉 q means that whenever the formula p is true, there is an execution of...
When disproving termination using known techniques (e.g. recurrence sets), abstractions that overapp...
Termination is an important property for programs and is necessary for formal proofs to make sense. ...
Abstract. We propose an automated method for disproving termina-tion of higher-order functional prog...
Abstract. We propose an automated method for disproving termina-tion of higher-order functional prog...
http://dx.doi.org/10.1007/11916277_1International audienceTermination is a major question in both lo...
AbstractWe propose means to predict termination in a higher-order imperative and concurrent language...
Automatic termination proofs of functional programming languages are an often challenged problem Mos...
AbstractWe survey termination analysis techniques for Logic Programs. We give an extensive introduct...
Non-termination is the root cause of a variety of program bugs, such as hanging programs and denial...