Prespecification in data refinement
Information Processing Letters
Data refinement by calculation
Acta Informatica
Data refinement of predicate transformers
Theoretical Computer Science
Normal form approach to compiler design
Acta Informatica
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Correctness of data representations in Algol-like languages
A classical mind
Forward and backward simulations I.: untimed systems
Information and Computation
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
JML (poster session): notations and tools supporting detailed design in Java
OOPSLA '00 Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum)
BI as an assertion language for mutable data structures
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Representation independence, confinement and access control [extended abstract]
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Objects and classes in Algol-like languages
Information and Computation - FOOL V
Using data groups to specify and check side effects
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Software Development: A Rigorous Approach
Software Development: A Rigorous Approach
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
Soundness of data refinement for a higher-order imperative language
Theoretical Computer Science
A Weakest Precondition Semantics for Refinement of Object-Oriented Programs
IEEE Transactions on Software Engineering
A Programming Logic for Sequential Java
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
A Logic of Object-Oriented Programs
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
A Weakest Precondition Semantics for an Object-Oriented Language of Refinement
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume II
Logical Relations and Data Abstraction
Proceedings of the 14th Annual Conference of the EACSL on Computer Science Logic
The Greybox Approach: When Blackbox Specifications Hide Too Much
The Greybox Approach: When Blackbox Specifications Hide Too Much
Data Refinement: Model-Oriented Proof Methods and their Comparison
Data Refinement: Model-Oriented Proof Methods and their Comparison
Algebraic reasoning for object-oriented programming
Science of Computer Programming - Special issue on program transformation
Ownership confinement ensures representation independence for object-oriented programs
Journal of the ACM (JACM)
Observational purity and encapsulation
Theoretical Computer Science
Modular Reasoning in Object-Oriented Programming
Verified Software: Theories, Tools, Experiments
Refactoring Towards a Layered Architecture
Electronic Notes in Theoretical Computer Science (ENTCS)
Refactoring and representation independence for class hierarchies: extended abstract
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Pre-post notation is questionable in effectively specifying operations of object-oriented systems
Frontiers of Computer Science in China
Assertion-based encapsulation, object invariants and simulations
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Observational purity and encapsulation
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
State based ownership, reentrance, and encapsulation
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Refactoring and representation independence for class hierarchies
Theoretical Computer Science
State based encapsulation for modular reasoning about behavior-preserving refactorings
Aliasing in Object-Oriented Programming
Hi-index | 0.00 |
Simulation is the most widely used technique to prove data refinement. We define forward simulation for a language with recursive classes, inheritance, type casts and tests, dynamic binding, class based visibility, mutable state (without aliasing), and specification constructs from refinement calculi. It is a language based on sequential Java, but it also includes specification and deseign mechanisms appropriate for the construction of programs based on refinement. We show simulation to be sound for data refinement of classes in this language.