skip to main content
10.1145/1117696.1117699acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

An analysis and visualization for revealing object sharing

Published: 16 October 2005 Publication History

Abstract

Sharing mutable data (via aliasing) is a powerful programming technique. To facilitate sharing, object-oriented programming languages permit the programmer to selectively break encapsulation boundaries. However, sharing data makes programs harder to understand and reason about, because, unlike encapsulated data, shared data cannot be reasoned about in a modular fashion. This paper presents an analysis and a visualizer to help the programmer understand and reason about shared data.

References

[1]
Rahul Agarwal and Scott D. Stoller. Type inference for parameterized race-free Java. In Giorgio Levi and Bernhard Steffen, editors, Proc. 5th VMCAI, volume 2937 of LNCS, pages 149--160, Venice, Italy, January 2004.
[2]
Jonathan Aldrich. Using Types to Enforce Architectural Structure. PhD thesis, U. Washington, August 2003.
[3]
Paulo Sergio Almeida. Balloon types: Controlling sharing of state in data types. In Mehmet Aksit and Satoshi Matsuoka, editors, Proc. 11th ECOOP, volume 1241 of LNCS, Jyväskylä, Finland, June 1997.
[4]
David F. Bacon and Peter F. Sweeney. Fast static analysis of C++ virtual function calls. In James Coplien, editor, Proc. 11th OOPSLA, pages 324--341, San Jose, CA, October 1996.
[5]
Dirk Beyer, Andreas Noack, and Claus Lewerentz. Efficient relational calculation for software analysis. IEEE Transactions on Software Engineering, 31(2):137--149, 2005.
[6]
Chandrasekhar Boyapati. SafeJava: A Unified Type System for Safe Programming. PhD thesis, MIT, 2004.
[7]
David G. Clarke, John M. Potter, and James Noble. Ownership types for flexible alias protection. In Craig Chambers, editor, Proc. 13th OOPSLA, Vancouver, British Columbia, Canada, October 1998.
[8]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[9]
David L. Heine and Monica S. Lam. A Practical Flow-Sensitive and Context-Sensitive C and C++ Memory Leak Detector. In Rajiv Gupta, editor, Proc. PLDI, June 2003.
[10]
John Hogg. Islands: Aliasing protection in object oriented languages. In Andreas Paepcke, editor, Proc. 6th OOPSLA, pages 271--285, Phoenix, October 1991.
[11]
Patrick Lam and Martin Rinard. A Type System and Analysis for the Automatic Extraction and Enforcement of Design Information. In Luca Cardelli, editor, Proc. 17th ECOOP, volume 2743 of LNCS, pages 275--302, Darmstadt, Germany, July 2003.
[12]
Margaret-Anne Storey and Hausi A. Müller and Kenny Wong. Manipulating and Documenting Software Structures. In Proc. ICSM, pages 275--284, Opio (Nice), France, October 1995.
[13]
Ana Milanova, Atanas Rountev, and Barbara G. Ryder. Parameterized object sensitivity for points-to and side-effect analyses for Java. In Phyllis Frankl, editor, Proc. ISSTA, pages 1--11, Rome, Italy, July 2002.
[14]
Hausi A. Müller and K. Klashinsky. Rigi --- A System for Programming-in-the-large. In Proc. 10th ICSE, pages 80--86, Raffles City, Singapore, April 1988.
[15]
Peter Müller. Modular Specification and Verification of Object-Oriented Programs. PhD thesis, Fern Universität Hagen, 2001.
[16]
James Noble, Jan Vitek, and John Potter. Flexible alias protection. In Eric Jul, editor, Proc. 12th ECOOP, volume 1445 of LNCS, Brussels, Belgium, July 1998.
[17]
David Lorge Parnas. On the Criteria to be Used in Decomposing Systems into Modules. Communications of the ACM, 15(12):1053--1058, December 1972.
[18]
David Lorge Parnas. Designing Software for Ease of Extension and Contraction. IEEE Transactions on Software Engineering, SE-5(2), March 1979.
[19]
Derek Rayside. A generic worklist algorithm for graph reachability problems in program analysis. Master's thesis, University of Waterloo, 2001.
[20]
Neeraj Sangal, Ev Jordan, Vineet Sinha, and Daniel Jackson. Using Dependency Models to Manage Complex Software Architecture. In Richard P. Gabriel, editor, Proc. 20th OOPSLA, San Diego, CA, October 2005.
[21]
Nick Scerbakov. Software Architecture Course LV 706.016 & LV 706.017. Graz University of Technology, IICM, 2002. http://coronet.iicm.edu/sa.
[22]
Alisdair Wren. Ownership type inference. Master's thesis, Department of Computing, Imperial College, 2003.
[23]
Jürgen Ziegler, Christoph Kunz, and Veit Botsch. Matrix browser: visualizing and exploring large networked information spaces. In SIGCHI Extended Abstracts, pages 602--603, Minneapolis, MN, 2002.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
eclipse '05: Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
October 2005
141 pages
ISBN:1595933425
DOI:10.1145/1117696
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 October 2005

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 38 of 79 submissions, 48%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all

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