Electronic Notes in Theoretical Computer Science · 2008 · 20 citations · 9 references
ComputingComputer ScienceDesign AutomationFormal MethodsProgramming LanguagesObject-oriented AnalysisObject-oriented DesignObject-oriented ProgrammingSpecification LanguagesType SystemsVerificationHierarchical StructuresInvariant CheckingInvariant GenerationInvariant VerificationInvariant-based VerificationPatternsProgram InvariantsSpecification Logic
We present a Hoare-style specification and verification approach for invariants in sequential OO programs. It allows invariants over non-hierarchical object structures, in which update patterns that span several objects and methods occur frequently. This gives rise to invalidating and subsequent re-establishing of invariants in a way that compromises standard data induction, which assumes invariants hold when a method is called. We provide specification constructs (inc and coop) that identify objects and methods involved in such patterns, allowing a refined form of data induction. The approach now handles practical designs, as illustrated by a specification of the Observer Pattern.
9
Separation logic: a logic for shared mutable data structures
John Reynolds · 2003 · 2.2K citations
Proof of correctness of data representations
C. A. R. Hoare · Acta Informatica · 1972 · 967 citations
Verification of Object-Oriented Programs with Invariants.
Mike Barnett, Robert DeLine, Manuel Fähndrich et al. · The Journal of Object Technology · 2004 · 327 citations · Full text