[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1924520.1924528acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
extended-abstract

Refactoring and representation independence for class hierarchies: extended abstract

Published: 22 June 2010 Publication History

Abstract

Refactoring transformations are important for productivity and quality in software evolution. Modular reasoning about semantics preserving transformations is difficult even in typed class-based languages because transformations can change the internal representations for multiple interdependent classes and because encapsulation can be violated by pointers to mutable objects. In this paper, an existing theory of representation independence for a single class, based on a simple notion of ownership confinement, is generalized to a hierarchy of classes and used to prove several refactoring laws. Soundness of these laws was an open problem in an ongoing project on formal refactoring tools. The utility of the laws is shown in a case study. Shortcomings of the theory are described as a challenge to other approaches to heap encapsulation and relational reasoning for classes.

References

[1]
A. Ahmed, D. Dreyer, and A. Rossberg. State-dependent representation independence. In POPL, pages 340--353, 2009.
[2]
A. Banerjee and D. A. Naumann. Ownership confinement ensures representation independence for object-oriented programs. J. ACM, 52(6), 2005.
[3]
A. Banerjee and D. A. Naumann. State based ownership, reentrance, and encapsulation. In ECOOP, volume 3586 of LNCS, pages 387--411, 2005.
[4]
G. Bierman and M. Parkinson. Separation logic and abstraction. In POPL, pages 247--258, 2005.
[5]
L. Birkedal and H. Yang. Relational parametricity and separation logic. Logical Methods in Comp. Sci., 4(2), 2008.
[6]
P. Borba, A. Sampaio, A. Cavalcanti, and M. Cornélio. Algebraic reasoning for object-oriented programming. Sci. Comput. Programming, 52(1--3):53--100, 2004.
[7]
A. L. C. Cavalcanti and D. Naumann. A weakest precondition semantics for refinement of object-oriented programs. IEEE Trans. Softw. Eng., 26(8):713--728, 2000.
[8]
A. L. C. Cavalcanti and D. A. Naumann. Forward simulation for data refinement of classes. In Formal Methods Europe, volume 2391 of LNCS, pages 471--490, 2002.
[9]
D. Clarke and S. Drossopoulou. Ownership, encapsulation and the disjointness of type and effect. In OOPSLA, pages 292--310, Nov. 2002.
[10]
D. Dreyer, G. Neis, A. Rossberg, and L. Birkedal. A relational modal logic for higher-order stateful ADTs. In POPL, pages 185--198, 2010.
[11]
I. Filipović, P. O'Hearn, N. Torp-smith, and H. Yang. Blaming the client: On data refinement in the presence of pointers. Formal Aspects Comp., 2010.
[12]
V. Koutavas and M. Wand. Bisimulations for untyped imperative objects. In ESOP, volume 3924 of LNCS, pages 146--161, 2006.
[13]
V. Koutavas and M. Wand. Reasoning about class behavior. Informal proc. of FOOL/WOOD, 2007.
[14]
G. T. Leavens, D. A. Naumann, and S. Rosenberg. Preliminary definition of core JML. Technical Report CS Report 2006--07, Stevens Inst. Tech., 2006.
[15]
K. R. M. Leino and P. Müller. Object invariants in dynamic contexts. In ECOOP, pages 491--516, 2004.
[16]
P. Müller and A. Rudich. Ownership transfer in Universe Types. In OOPSLA, pages 461--478, 2007.
[17]
L. Silva, D. A. Naumann, and A. Sampaio. Refactoring and representation independence for class hierarchies. Draft journal paper, www.cs.stevens.edu/~naumann/pub/clHieDraft.pdf.
[18]
L. Silva, A. Sampaio, and Z. Liu. Laws of object-orientation with reference semantics. In SEFM, pages 217--226, 2008.
[19]
J. Smans, B. Jacobs, and F. Piessens. Implicit dynamic frames: Combining dynamic frames and separation logic. In ECOOP, pages 148--172, 2009.
[20]
E. Sumii. A complete characterization of observational equivalence in polymorphic lambda-calculus with general references. In Computer Science Logic, volume 5771 of LNCS, pages 455--469, 2009.
[21]
E. Sumii and B. C. Pierce. A bisimulation for type abstraction and recursion. J. ACM, 54(5), 2007.

Cited By

View all
  • (2011)Full abstraction at package boundaries of object-oriented languagesProceedings of the 14th Brazilian conference on Formal Methods: foundations and Applications10.1007/978-3-642-25032-3_3(28-43)Online publication date: 26-Sep-2011

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
FTFJP '10: Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
June 2010
66 pages
ISBN:9781450305402
DOI:10.1145/1924520
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • CEKTRA
  • University of Maribor
  • AITO: Assoc Internationale por les Technologies Objects

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 June 2010

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Extended-abstract

Funding Sources

Conference

ECOOP '10
Sponsor:
  • AITO

Acceptance Rates

Overall Acceptance Rate 51 of 75 submissions, 68%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2011)Full abstraction at package boundaries of object-oriented languagesProceedings of the 14th Brazilian conference on Formal Methods: foundations and Applications10.1007/978-3-642-25032-3_3(28-43)Online publication date: 26-Sep-2011

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media