An Iterated Local Search Strengthened by a Q-learning-based Hyper-heuristic for Software Modularization

نوع مقاله : مقاله پژوهشی

نویسندگان

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

2 دانشگاه تبریز

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

چکیده

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. In this paper, an iterated local search (ILS) strengthened by a Q-learning-based hyper-heuristic is proposed 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 with 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.

کلیدواژه‌ها

موضوعات


عنوان مقاله [English]

An Iterated Local Search Strengthened by a Q-learning-based Hyper-heuristic for Software Modularization

نویسندگان [English]

  • Mahjoubeh Tajgardan 1
  • Habib Izadkhah 2
  • Shahriar Lotfi 3
1 Department of Computer Science, Faculty of Mathematics, Statistics, and Computer Science, University of Tabriz, Tabriz, Iran,
2 University of Tabriz
3 Department of Computer Science, Faculty of Mathematics, Statistics, and Computer Science, University of Tabriz
چکیده [English]

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. In this paper, an iterated local search (ILS) strengthened by a Q-learning-based hyper-heuristic is proposed 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 with 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.

کلیدواژه‌ها [English]

  • Software modularization
  • Iterated local search
  • Hyper-heuristic
  • Q-learning
  • Evolutionary algorithms