• 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