DocumentCode
2578282
Title
Empirical Evaluation of Diagrams of the Run-time Structure for Coding Tasks
Author
Ammar, Nariman ; Abi-Antoun, Marwan
Author_Institution
Dept. of Comput. Sci., Wayne State Univ., Detroit, MI, USA
fYear
2012
fDate
15-18 Oct. 2012
Firstpage
367
Lastpage
376
Abstract
With object-oriented design, it is at least as important-possibly more important-to understand the runtime structure, in terms of objects and their relations, as to understand the code structure dealing with source files, classes and packages. Today, many tools and diagrams help developers understand the code structure. Diagrams of the runtime structure, however, are much less mature. One diagram of the run-time structure is a statically extracted, global, hierarchical Ownership Object Graph (OOG). The OOG conveys architectural abstraction by ownership hierarchy by showing architecturally significant objects near the top of the hierarchy and data structures further down. In an OOG, objects are also organized into named, conceptual groups called domains. We evaluate, in a controlled experiment, whether an OOG, as a diagram of the run-time structure, improves comprehension by giving developers the ability to distinguish the role that an object plays, not only by type, but also by named groups (domains) or by position in the run-time structure (ownership). We observed 10 participants, for 3 hours each, perform three feature implementation tasks on a framework application. Our results indicate that, on average, the OOG had a positive effect of varying extents on comprehension that reduced the time spent by 22%-60% and irrelevant code explored by 10%-60%. The difference was significant (p <; 0.05) for two of the tasks.
Keywords
data structures; graph theory; object-oriented methods; reverse engineering; software maintenance; OOG; architectural abstraction; coding tasks; conceptual groups; data structures; diagram empirical evaluation; domains; object-oriented design; ownership hierarchy; program comprehension; run-time structure; software classes; software packages; source files; statically extracted-global-hierarchical ownership object graph; Atmospheric measurements; Games; Java; Navigation; Object oriented modeling; Search problems; Unified modeling language; controlled experiment; program comprehension;
fLanguage
English
Publisher
ieee
Conference_Titel
Reverse Engineering (WCRE), 2012 19th Working Conference on
Conference_Location
Kingston, ON
ISSN
1095-1350
Print_ISBN
978-1-4673-4536-1
Type
conf
DOI
10.1109/WCRE.2012.46
Filename
6385132
Link To Document