The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
Javalight is type-safe—definitely
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A fixedpoint approach to (co)inductive and (co)datatype definitions
Proof, language, and interaction
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Introduction to Mathematical Logic and Type Theory: To Truth through Proof
Introduction to Mathematical Logic and Type Theory: To Truth through Proof
Object-Oriented Verification Based on Record Subtyping in Higher-Order Logic
Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics
Encoding Object-Z in Isabelle/HOL
ZB '02 Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B
Hoare Logic for NanoJava: Auxiliary Variables, Side Effects, and Virtual Methods Revisited
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Journal of Functional Programming
HOL-OCL: a formal proof environment for UML/OCL
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
Modular verification of static class invariants
FM'05 Proceedings of the 2005 international conference on Formal Methods
Verification of a signature architecture with HOL-Z
FM'05 Proceedings of the 2005 international conference on Formal Methods
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Reasoning about java programs with aliasing and frame conditions
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Implementing application-specific object-oriented theories in HOL
ICTAC'05 Proceedings of the Second international conference on Theoretical Aspects of Computing
HOL-Boogie--An Interactive Prover-Backend for the Verifying C Compiler
Journal of Automated Reasoning
Unifying theories in Isabelle/HOL
UTP'10 Proceedings of the Third international conference on Unifying theories of programming
A specification-based test case generation method for UML/OCL
MODELS'10 Proceedings of the 2010 international conference on Models in software engineering
An executable object-oriented semantics and its application to firewall verification
Software and Systems Modeling (SoSyM)
Extending OCL with null-references: towards a formal semantics for OCL 2.1
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Featherweight OCL: a study for the consistent semantics of OCL 2.3 in HOL
Proceedings of the 12th Workshop on OCL and Textual Modelling
Hi-index | 0.00 |
We present an extensible encoding of object-oriented data models into higher-order logic (hol). Our encoding is supported by a datatype package that leverages the use of the shallow embedding technique to object-oriented specification and programming languages. The package incrementally compiles an object-oriented data model, i. e., a class model, to a theory containing object-universes, constructors, accessor functions, coercions (casts) between static types (and providing a foundation for the notion of dynamic types), characteristic sets, and co-inductive class invariants. The package is conservative, i. e., all properties are derived entirely from constant definitions, including the constraints over object structures. As an application, we use the package for an object-oriented core-language called imp++, for which we formally prove the correctness of a Hoare logic with respect to a denotational semantics.