Automatic extraction of heap reference properties in object-oriented programs
Name
C7A6BCBBd01.pdf
Size
286.51 KB
Format
Adobe PDF
Checksum (MD5)
000a71f73f6c96f08dc773e8c30ddc18
Author(s) •
Demsky, Brian
Rinard, Martin C.
Date Issued
May 2009
Journal
IEEE Transactions on Software Engineering
Publisher
Institute of Electrical and Electronics Engineers
Citation
Automatic Extraction of Heap Reference Properties in Object-Oriented Programs
Demsky, B.; Rinard, M.;
Software Engineering, IEEE Transactions on
Volume 35, Issue 3, May-June 2009 Page(s):305 - 324
Version
Author's final manuscript
Abstract
We present a new technique for helping developers understand heap referencing properties of object-oriented programs
and how the actions of the program affect these properties. Our dynamic analysis uses the aliasing properties of objects to synthesize
a set of roles; each role represents an abstract object state intended to be of interest to the developer. We allow the developer to
customize the analysis to explore the object states and behavior of the program at multiple different and potentially complementary
levels of abstraction. The analysis uses roles as the basis for three abstractions: role transition diagrams, which present the observed
transitions between roles and the methods responsible for the transitions; role relationship diagrams, which present the observed
referencing relationships between objects playing different roles; and enhanced method interfaces, which present the observed roles
of method parameters. Together, these abstractions provide useful information about important object and data structure properties
and how the actions of the program affect these properties. We have implemented the role analysis and have used this implementation
to explore the behavior of several Java programs. Our experience indicates that, when combined with a powerful graphical user
interface, roles are a useful abstraction for helping developers explore and understand the behavior of object-oriented programs.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Attribution-Noncommercial-Share Alike 3.0 Unported
Persistent DSpace Link
DOI of Published Version
http://dx.doi.org/10.1109/TSE.2008.91