Abstract
User-defined functions used in the specification of objectoriented programs are called pure methods. Providing sound and practical support for pure methods in a verification system faces many challenges, especially when pure methods have executable implementations and can be invoked from code at run time. This paper describes a design for reasoning about pure methods in the context of sound, modular verification. The design addresses (1) how to axiomatize pure methods as mathematical functions enabling reasoning about their result values; (2) preconditions and frame conditions for pure methods enabling reasoning about the implementation of a pure method. Two important considerations of the design are that it work with object invariants and that its logical encoding be suitable for fully automatic theorem provers. The design has been implemented in the Spec# programming system. © Springer-Verlag Berlin Heidelberg 2007.
Cite
CITATION STYLE
Darvas, Á., & Leino, K. R. M. (2007). Practical reasoning about invocations and implementations of pure methods. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4422 LNCS, pp. 336–351). Springer Verlag. https://doi.org/10.1007/978-3-540-71289-3_26
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.