The Class Blueprint: Visually Supporting the Understanding of Classes

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

[img] Text
Duca05bTSEClassBlueprint.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (1MB) | Request a copy

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)

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:

Manuela Bamert

Date Deposited:

30 Oct 2017 12:14

Last Modified:

02 Nov 2017 05:07

Publisher DOI:

10.1109/TSE.2005.14

BORIS DOI:

10.7892/boris.104499

URI:

https://boris.unibe.ch/id/eprint/104499

Actions (login required)

Edit item Edit item
Provide Feedback