شماره ركورد كنفرانس :
4753
عنوان مقاله :
GMA: A Graph-based algorithm for large-scale Software Systems Modularization
عنوان به زبان ديگر :
GMA: A Graph-based algorithm for large-scale Software Systems Modularization
پديدآورندگان :
Pourasghar Babak b.pourasghar@tabrizu.ac.ir Department of Computer Science, University of Tabriz, Tabriz, Iran , Izadkhah Habib izadkhah@tabrizu.ac.ir Department of Computer Science, University of Tabriz, Tabriz, Iran , Salehi Khayyam kh_salehi @tabrizu.ac.ir Department of Computer Science, University of Tabriz, Tabriz, Iran , Isazadeh Ayaz Department of Computer Science, University of Tabriz, Tabriz, Iran
كليدواژه :
Software Engineering , Reverse Engineering , Software Clustering , Software Modularization
عنوان كنفرانس :
اولين كنفرانس بين المللي محاسبات و سامانه هاي توزيع شده
چكيده فارسي :
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.
چكيده لاتين :
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.