• IAHPC
  • 0qomuni
  • taba
  • isc

Title:

GMA: A Graph-based algorithm for large-scale Software Systems Modularization

Babak Pourasghar Habib Izadkhah Khayyam Salehi Ayaz Isazadeh

Department of Computer Science, University of Tabriz, Tabriz, Iran Department of Computer Science, University of Tabriz, Tabriz, Iran Department of Computer Science, University of Tabriz, Tabriz, Iran Department of Computer Science, University of Tabriz, Tabriz, Iran

Abstract:

The Modularization techniques are used to extract the software structure to understand it. These techniques attempt to partition a software system from artifact dependency graph (ADG), which extracted from the source code. In software systems, an artifact can be everything such as a class, a function, or a file. Because of the NP-hardness of modularizing an artifact dependency graph, in the literature, evolutionary and search-based algorithms such as genetic algorithms are recently exploited. Although these algorithms are often able to achieve an appropriate structure for software, they are not applicable in modularizing large-scale software systems due to their very high space consumption and execution time. Also, these algorithms overlook the available knowledge in an ADG for Modularization. This paper presents a simple and efficient new graph-based modularization algorithm, named GMA, and a new distance measurement to modularize large-scale software systems. The distance measure proposed in this paper enables the GMA to exploit the available knowledge in an ADG. To show the applicability and validity of the proposed algorithm, a large-scale case study namely Mozilla Firefox, is used. The results demonstrate that GMA is able to modularize better than evolutionary algorithms. The implementation of the proposed algorithm can be accessed at https://doi.org/10.5281/zenodo.1298723.

Keyword:

Software Engineering, Reverse Engineering, Software Clustering, Software Modularization

ISC Index Link:

Full Text: