Ducasse, Stéphane; Lanza, Michele (2005). The Class Blueprint: Visually Supporting the Understanding of Classes. IEEE transactions on software engineering, 31(1), pp. 75-90. Institute of Electrical and Electronics Engineers IEEE 10.1109/TSE.2005.14
Text
Duca05bTSEClassBlueprint.pdf - Published Version Restricted to registered users only Available under License Publisher holds Copyright. Download (1MB) |
Understanding source code is an important task in the maintenance of software systems. Legacy systems are not only limited to procedural languages, but are also written in object-oriented languages. In such a context, understanding classes is a key activity as they are the cornerstone of the object-oriented paradigm and the primary abstraction from which applications are built. Such an understanding is however difficult to obtain because of reasons such as the presence of late binding and inheritance. A first level of class understanding consists of the understanding of its overall structure, the control flow among its methods, and the accesses on its attributes. We propose a novel visualization of classes called class blueprint that is based on a semantically enriched visualization of the internal structure of classes. This visualization allows a software engineer to build a first mental model of a class that he validates via opportunistic code-reading. Furthermore, we have identified visual patterns that represent recurrent situations and as such convey additional information to the viewer. The contributions of this article are the class blueprint, a novel visualization of the internal structure of classes, the identification of visual patterns, and the definition of a vocabulary based on these visual patterns. We have performed several case studies of which one is presented in depth, and validated the usefulness of the approach in a controlled experiment.
Item Type: |
Journal Article (Original Article) |
---|---|
Division/Institute: |
08 Faculty of Science > Institute of Computer Science (INF) 08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued] |
UniBE Contributor: |
Ducasse, Stephane |
Subjects: |
000 Computer science, knowledge & systems 500 Science > 510 Mathematics |
ISSN: |
0098-5589 |
Publisher: |
Institute of Electrical and Electronics Engineers IEEE |
Language: |
English |
Submitter: |
Anja Ebeling |
Date Deposited: |
30 Oct 2017 12:14 |
Last Modified: |
11 Apr 2024 16:11 |
Publisher DOI: |
10.1109/TSE.2005.14 |
BORIS DOI: |
10.7892/boris.104499 |
URI: |
https://boris.unibe.ch/id/eprint/104499 |