Content area
Full Text
Abstract-Several Design Smell detection tools have been developed for identifying Design Smells in source code or design models. The early prediction of a useful set of Design Smells has a positive impact on software quality. In this paper, we present an exploratory study to check whether some project information can be relevant or not to be supplied to a classifier in order to detect God Class Design Smell. This paper explores if clarifying the domain, the status and the size category of the project to which a class belongs to can lead to variations in the classification accuracy and usefulness for this Design Smell detection. The dataset is formed by the 12,588 classes of 24 projects with different size categories, domains and maturity status. We conduct the experiments with eight different machine learning approaches which are the most recently used in literature. These eight involve all families of classifiers. The results of classifiers are compared based on the accuracy, sensitivity and specificity performance significance tests. It was found that the set of nominal project knowledge studied in this paper have not any impact on the detection of God Class Design Smell based on the set of detection tools were used to identify the God Class Design Smell.
Keywords-design smell detection; god class; machine learning
I. INTRODUCTION
Software quality is an important concern for software industries, academic and researchers. To improve quality we should perform maintaining activities as early as possible through the software development life cycle. The majority of software development cost was devoted to maintenance process [1]. Maintenance process is influenced by the amount and frequency of maintenance tasks related to adaptive, corrective and predictive maintenance, the wide range of different tools required for controlling, documenting and making changes effectively, and by the degree of code complexity. Design Smells presence is one of the critical problems that impact also on the process.
The concept of Design Smell cover all problems related to the software structure (source code and design) that does not make compile or execution errors [2]. But as consequence, Design Smells' presence negatively affect on software understandability, testability, extensibility, reusability and maintainability factors. These problems can appear in several software artifacts from fine-grained to coarse-grained including (variables, instructions, operations, methods, classes,...