Abstract
A properly encapsulated data representation can be revised for refactoring or other purposes without affecting the correctness of client programs and extensions of a class. But encapsulation is difficult to achieve in object-oriented programs owing to heap based structures and reentrant callbacks. This chapter shows that it is achieved by a discipline using assertions and auxiliary fields to manage invariants and transferrable ownership. The main result is representation independence: a rule for modular proof of equivalence of class implementations.
| Original language | English |
|---|---|
| Title of host publication | Aliasing in Object-Oriented Programming |
| Subtitle of host publication | Types, Analysis, and Verification |
| Pages | 319-365 |
| Number of pages | 47 |
| DOIs | |
| State | Published - 2013 |
Publication series
| Name | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
|---|---|
| Volume | 7850 |
| ISSN (Print) | 0302-9743 |
| ISSN (Electronic) | 1611-3349 |
Fingerprint
Dive into the research topics of 'State based encapsulation for modular reasoning about behavior-preserving refactorings'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver