DocumentCode :
3587329
Title :
Interactive Scalable Abstraction of Reverse Engineered UML Class Diagrams
Author :
Osman, Mohd Hafeez ; Chaudron, Michel R. V. ; Van Der Putten, Peter
Author_Institution :
Leiden Inst. of Adv., Comput. Sci. Leiden Univ., Netherlands
Volume :
1
fYear :
2014
Firstpage :
159
Lastpage :
166
Abstract :
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.
Keywords :
Unified Modeling Language; learning (artificial intelligence); reverse engineering; software architecture; software maintenance; source code (software); SAAbs framework; class diagrams; class importance ranking; complete design diagrams; critical activity; design-level documentation; interactive scalable abstraction; machine learning scoring algorithm; reverse engineered UML class diagrams; software architecture abstraction framework; software architecture design documentation; software architecture visualization; software comprehension; software development; software maintenance; source code; Algorithm design and analysis; Couplings; Data mining; Measurement; Software; Software architecture; Unified modeling language; Class Diagram; Condensation; Reverse Engineering; Software Engineering; UML; Visualization;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering Conference (APSEC), 2014 21st Asia-Pacific
ISSN :
1530-1362
Print_ISBN :
978-1-4799-7425-2
Type :
conf
DOI :
10.1109/APSEC.2014.34
Filename :
7091306
Link To Document :
بازگشت