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 :
بازگشت