An efficient high-quality hierarchical clustering algorithm for automatic inference of software architecture from the source code of a software system

02/15/2012
by   Sarge Rogatch, et al.
0

It is a high-quality algorithm for hierarchical clustering of large software source code. This effectively allows to break the complexity of tens of millions lines of source code, so that a human software engineer can comprehend a software system at high level by means of looking at its architectural diagram that is reconstructed automatically from the source code of the software system. The architectural diagram shows a tree of subsystems having OOP classes in its leaves (in the other words, a nested software decomposition). The tool reconstructs the missing (inconsistent/incomplete/inexistent) architectural documentation for a software system from its source code. This facilitates software maintenance: change requests can be performed substantially faster. Simply speaking, this unique tool allows to lift the comprehensible grain of object-oriented software systems from OOP class-level to subsystem-level. It is estimated that a commercial tool, developed on the basis of this work, will reduce software maintenance expenses 10 times on the current needs, and will allow to implement next-generation software systems which are currently too complex to be within the range of human comprehension, therefore can't yet be designed or implemented. Implemented prototype in Open Source: http://sourceforge.net/p/insoar/code-0/1/tree/

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/10/2011

Open Source Software: How Can Design Metrics Facilitate Architecture Recovery?

Modern software development methodologies include reuse of open source c...
research
05/12/2021

Parthenos: A Source Code Injection Approach for Software Transformation

Maintaining legacy enterprise information systems is a known necessity i...
research
08/31/2017

AudExpCreator: A GUI-based Matlab tool for designing and creating auditory experiments with the Psychophysics Toolbox

We present AudExpCreator, a GUI-based Matlab tool for designing and crea...
research
06/14/2022

A Hierarchical-DBSCAN Method for Extracting Microservices from Monolithic Applications

The microservices architectural style offers many advantages such as sca...
research
07/05/2021

E-SC4R: Explaining Software Clustering for Remodularisation

Maintenance of existing software requires a large amount of time for com...
research
03/16/2019

Recover and RELAX: Concern-Oriented Software Architecture Recovery for Systems Development and Maintenance

The stakeholders of a system are legitimately interested in whether and ...
research
05/26/2023

A Study of Documentation for Software Architecture

Documentation is an important mechanism for disseminating software archi...

Please sign up or login with your details

Forgot password? Click here to reset