Journal of King Saud University: Computer and Information Sciences (Jun 2022)
The automation of the detection of large class bad smell by using genetic algorithm and deep learning
Abstract
In Software Engineering (SE), metrics are used for detecting software design problems (bad smells) like the large-class bad smell, where a lot of different metrics were defined to find out the existence of this problem in the design of a class. Examples of these metrics are size metrics, cohesion metrics, and coupling metrics. Selecting the right metrics to detect the large-class bad smell is a common problem, and it is usually accomplished manually. The questions remain: Can a module with the best combination of two metrics, for detecting the problem of large-class bad smell, be formed automatically rather than manually? And how is this double valued threshold determined to be used to infer the existence of this problem? This paper proposes the Hybrid Approach to detect Large Class Bad Smell (HA-LCBS). This approach utilizes the Genetic Algorithm (GA) to automate the composing of a detecting module that consists of a cohesion metric type and a coupling metric type and passes its resulting paired value to a deep learning approach to automate the detection of the large class bad smell. The accuracy that has been gained from using this approach reached 94.21%.