2 research outputs found

    Proving Properties of Programs Defined Over Recursive Data Structures

    No full text
    We present a technique for the mechanical proof of correctness properties of programs. We define a language of properties over recursive data structures and an inference system to assign properties to programs. In order to be able to design a tractable inference algorithm, we impose restrictions on both the programming language and the language of properties. We show that these restrictions do not preclude the treatment of interesting programs and properties. As an example, our analyser is able to prove automatically that a sort program returns a list of non-increasing values. 1 Introduction We first describe the general motivation of the work presented here before summarising the main results developed in the body of the paper. 1.1 Motivation Mathematical techniques for proving properties about the correctness of programs should be supported by a range of tools in order to alleviate the programmer's task and to ensure the systematic application of the methods. Since the complete c..

    Automatic Verification Based on Abstract Interpretation

    Get PDF
    This paper reconstructs and extends the automatic verification technique of Le Metayer, Proving properties of programs defined over recursive data structures (ACM PEPM ’95), based on a backward abstract interpretation. To show the effectiveness of extensions, we show two examples of the declarative specifications of sorting and formatting programs, which are directly and concisely expressed in our specification language
    corecore