An iterated local search strengthened by a Q-learning-based hyper-heuristic for software modularization

نویسندگان

1 دانشکده ریاضی، آمار و علوم کامپیوتر، دانشگاه تبریز، تبریز، ایران.

2 دانشکده ریاضی، آمار و علوم کامپیوتر، دانشگاه تبریز، تبریز، ایران.

3 دانشکده ریاضی، آمار و علوم کامپیوتر، دانشگاه تبریز، تبریز، ایران.

doi
10.22052/scj.2023.252654.1135
چکیده

Software comprehension plays an important role during its improvement and maintenance process. Software modularization is a key activity for recovering the software architecture, which improves software understanding. Since the software modularization problem is NP-hard, meta-heuristics such as evolutionary algorithms (EAs) are usually used to solve it. EAs are problem-dependent, and they also require considerable space and time. Recently, the use of hyper-heuristic approaches growing to obtain more generality. This paper proposes an iterated local search (ILS) strengthened by a Q-learning-based hyper-heuristic for software modularization that overcomes the limitations of EAs.  In the proposed algorithm, two main components of ILS, i.e., perturbation and local search components, are intelligently selected using a Q-learning-based hyper-heuristic in each iteration. The performance of the proposed algorithm is evaluated on eleven real-world software systems of small and medium sizes. The results of the experiments demonstrate that the proposed ILS produces modularizations that have higher or equal quality compared to the quality of the modularizations obtained by selected algorithms.