A new method based on formal concept analysis and metaheuristics to solve class responsibility assignment problem

Zeinab Javidi,Reza Akbari,Omid Bushehrian
DOI: https://doi.org/10.1007/s42044-020-00074-y
2020-11-07
Iran Journal of Computer Science
Abstract:The high-quality design has a significant impact on the extensibility and maintainability of a software system. Automatic techniques help designers to design high-quality software in a shorter time. Among different approaches for software design, automated search-based methods are very efficient when the problem’s search space is huge and finding the optimal solution is hard. In this paper, we present an automatic three-phase method for generating the class diagram of a software system. In the first phase, we use formal concept analysis for generating the initial solutions. Subsequently, in the second phase, we apply four meta-heuristic methods to improve the quality of the initial solutions. Finally, the third phase creates the relationships among classes. We design eight versions of the method using four meta-heuristic techniques in the second phase with and without using the first phase. The performance of the proposed method on the four case studies for generating efficient class diagrams in terms of design metrics is studied. We analyze the effect of formal concept analysis in the first phase for generating the initial solutions. Also, we compare the results of the four meta-heuristic techniques. The results show that Genetic Algorithm-Formal Concept Analysis (GA-FCA) and Imperialist Competitive Algorithm-Formal Concept Analysis (ICA-FCA) methods that use the first phase for generating initial solutions outperformed the other six methods presented in this paper.
What problem does this paper attempt to address?