Interactive Scalable Abstraction of Reverse Engineered UML Class Diagrams

A large fraction of the time consumed in software development and maintenance is spent on understanding the software, which indicates it is a critical activity. Software documentation, including software architecture design documentation, is an important aid in software comprehension. However, keepi...

Full description

Saved in:
Bibliographic Details
Published inProceedings / Asia Pacific Software Engineering Conference Vol. 1; pp. 159 - 166
Main Authors Osman, Mohd Hafeez, Chaudron, Michel R.V., Van Der Putten, Peter
Format Conference Proceeding Journal Article
LanguageEnglish
Published IEEE 01.12.2014
Subjects
Online AccessGet full text
ISBN1479974250
9781479974252
ISSN1530-1362
DOI10.1109/APSEC.2014.34

Cover

More Information
Summary:A large fraction of the time consumed in software development and maintenance is spent on understanding the software, which indicates it is a critical activity. Software documentation, including software architecture design documentation, is an important aid in software comprehension. However, keeping documentation up to date with evolving source code is often challenging and absence of up date or more comprehensive design-level documentation is not uncommon. As a solution, software architecture design may be recovered using reverse engineering techniques. However, existing reverse engineering methods produce complete design diagrams that include all the details that exist in the source code. The absence of abstraction from implementation details limits the usefulness of existing reverse engineering techniques for understanding software. This paper aims to address this problem by providing a method and tool that interactively allows developers to interactively explore a reverse engineered class diagram at scalable levels of abstraction. To this end, we propose a Software Architecure Abstraction (SAAbs) framework and an automated tool which implements the SAAbs framework. The SAAbs framework applies a machine learning scoring algorithm to produce a class importance ranking for class diagrams, this ranking is the basis for software architecture abstraction and visualization. We validate this framework by validating the SAAbs tool using a semi-structured survey. On average, 30 respondents of this survey rated 5.40 out of 6 points, which indicate that this is a useful tool to assist software developers in understanding a system.
Bibliography:ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Conference-1
ObjectType-Feature-3
content type line 23
SourceType-Conference Papers & Proceedings-2
ISBN:1479974250
9781479974252
ISSN:1530-1362
DOI:10.1109/APSEC.2014.34