Abstract. Object-oriented languages provide advantages such as reuse and modularity, but they also raise new challenges for program verification. Program logics have been developed for languages such as C# and Java. However, these logics do not cover the specifics of the Eiffel language. This paper presents a program logic for Eiffel that handles exceptions, once routines, and multiple inheritance. The logic is proven sound and complete w.r.t. an operational semantics. Lessons on language design learned from the experience are discussed.
The work in REF presents a Hoare-style program logic for Eiffel that handles multiple inheritance based on an existing program logic for single-inheritance by extending the method lookup definition.
A Sound and Complete Program Logic for Eiffel
TOOLS
Computer Science