Proving consistency of pure methods and model fields

R. Leino, R. Middelkoop

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    3 Citations (Scopus)


    Pure methods and model fields are useful and common specification constructs that can be interpreted by the introduction of axioms in a program verifier’s underlying proof system. Care has to be taken that these axioms do not introduce an inconsistency into the proof system. This paper describes and proves sound an approach that ensures no inconsistencies are introduced. Unlike some previous syntax-based approaches, this approach is based on semantics, which lets it admit some natural but previously problematical specifications. The semantic conditions are discharged by the program verifier using an SMT solver, and the paper describes heuristics that help avoid common problems in finding witnesses with trigger-based SMT solvers. The paper reports on the positive experience with using this approach in Spec# for over a year.
    Original languageEnglish
    Title of host publicationFundamental Approaches to Software Engineering (12th International Conference, FASE'09, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings)
    EditorsM. Chechik, M. Wirsing
    Place of PublicationBerlin
    ISBN (Print)978-3-642-00592-3
    Publication statusPublished - 2009

    Publication series

    NameLecture Notes in Computer Science
    ISSN (Print)0302-9743


    Dive into the research topics of 'Proving consistency of pure methods and model fields'. Together they form a unique fingerprint.

    Cite this