Title :
Role-based exploration of object-oriented programs
Author :
Demsky, Brian ; Rinard, Martin
Author_Institution :
Lab. for Comput. Sci., MIT, Cambridge, MA, USA
Abstract :
We present a new technique for helping developers understand heap 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 used our implemented role analysis 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.
Keywords :
Java; data structures; diagrams; graphical user interfaces; object-oriented programming; Java programs; abstract object state; aliasing properties; data structure; dynamic analysis; enhanced method interfaces; graphical user interface; heap properties; object-oriented programs; role relationship diagrams; role transition diagrams; role-based program exploration; Computer science; Contracts; Data mining; Data structures; Information analysis; Java; Laboratories; Marine vehicles; Permission;
Conference_Titel :
Software Engineering, 2002. ICSE 2002. Proceedings of the 24rd International Conference on
Conference_Location :
Orlando, FL, USA
Print_ISBN :
1-58113-472-X