Skip to main content

Flexible Proof Reuse for Software Verification

  • Conference paper
Algebraic Methodology and Software Technology (AMAST 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3116))

  • 263 Accesses

Abstract

Proof reuse, or analogical reasoning, involves reusing the proof of a source theorem in the proof of a target conjecture. We have developed a method for proof reuse that is based on the generalisation – replay paradigm described in the literature, in which a generalisation of the source proof is replayed to construct the target proof. In this paper, we describe the novel aspects of our method, which include a technique for producing more accurate source proof generalisations (using knowledge of the target goal), as well as a flexible replay strategy that allows the user to set various parameters to control the size and the shape of the search space. Finally, we report on the results of applying this method to a case study from the realm of software verification.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  2. Hoare, C.A.R.: An axiomatic basis for computer programming. In: Hoare, C.A.R., Jones, C.B. (eds.) Essays in Computing Science, Prentice Hall, Englewood Cliffs (1989)

    Google Scholar 

  3. Huet, G.: A unification algorithm for typed lambda-calculus. Theoretical Computer Science 1, 27–57 (1975)

    Article  MathSciNet  Google Scholar 

  4. Johnsen, E.B., Lüth, C.: Abstracting transformations for refinement. Nordic Journal of Computing 10, 316–336 (2003)

    Google Scholar 

  5. Kaldewaij, A.: Programming: The derivation of algorithms. Prentice Hall, Englewood Cliffs (1990)

    Google Scholar 

  6. Melis, E., Schairer, A.: Similarities and reuse of proofs in formal software verification. In: Smyth, B., Cunningham, P. (eds.) EWCBR 1998. LNCS (LNAI), vol. 1488, pp. 76–87. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  7. Melis, E., Whittle, J.: Internal analogy in theorem proving. In: McRobbie, M.A., Slaney, J.K. (eds.) CADE 1996. LNCS, vol. 1104, pp. 92–105. Springer, Heidelberg (1996)

    Google Scholar 

  8. Reynolds, J.: Transformational systems and algebraic structure of atomic formulas. Machine Intelligence 5, 135–152 (1970)

    MathSciNet  Google Scholar 

  9. Utting, M., Robinson, P., Nickson, R.: Ergo 6: a generic proof engine that uses Prolog proof technology. LMS Journal of Computation and Mathematics 5, 194–219 (2002)

    MATH  MathSciNet  Google Scholar 

  10. Walther, C., Kolbe, T.: Proving theorems by reuse. Artificial Intelligence 116(1– 2), 17–66 (2000)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hunter, C., Robinson, P., Strooper, P. (2004). Flexible Proof Reuse for Software Verification. In: Rattray, C., Maharaj, S., Shankland, C. (eds) Algebraic Methodology and Software Technology. AMAST 2004. Lecture Notes in Computer Science, vol 3116. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27815-3_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-27815-3_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22381-8

  • Online ISBN: 978-3-540-27815-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics