Multi-objective search-based software modularization: structural and non-structural features
Autor: | Nafiseh Sadat Jalali, Shahriar Lotfi, Habib Izadkhah |
---|---|
Rok vydání: | 2018 |
Předmět: |
0209 industrial biotechnology
Source code Theoretical computer science Fitness function Syntax (programming languages) Software modularization Computer science media_common.quotation_subject Evolutionary algorithm 02 engineering and technology Theoretical Computer Science 020901 industrial engineering & automation Modular programming 0202 electrical engineering electronic engineering information engineering 020201 artificial intelligence & image processing Geometry and Topology Software system Software media_common |
Zdroj: | Soft Computing. 23:11141-11165 |
ISSN: | 1433-7479 1432-7643 |
DOI: | 10.1007/s00500-018-3666-z |
Popis: | Software modularization techniques are employed to understand a software system. The purpose of modularization is to decompose a software system from a source code into meaningful and understandable subsystems (modules). Since modularization of a software system is an NP-hard problem, the modularization quality obtained using evolutionary algorithms is more reasonable than greedy algorithms. All evolutionary algorithms presented for software modularization only consider structural features that are dependent on the syntax of programming languages. For most programming languages, does not exist a tool to extract structural features, so it is not possible to modularize them. To overcome this problem, this paper presents a new multi-objective fitness function, named MOF, which exploits the structural (such as calling dependency and inheritance dependency) and non-structural features (such as semantic contained in the code comments and identifier names), aiming to automatically guide optimization algorithms to find a good decomposition of software systems. To evaluate the performance of this objective function, three optimization strategies, namely global-based search, combining global and local search, and Estimation of Distribution (EoD), are adapted to optimize it. The results on Mozilla Firefox indicate that the proposed algorithm which is based on EoD along with the new MOF function outperforms the algorithms that use structural-based objective functions in guiding the optimization process, in finding more understandable modules. |
Databáze: | OpenAIRE |
Externí odkaz: |