Visible to the public A Support Vector Machine Based Approach for Code Smell Detection

TitleA Support Vector Machine Based Approach for Code Smell Detection
Publication TypeConference Paper
Year of Publication2017
AuthorsKaur, A., Jain, S., Goel, S.
Conference Name2017 International Conference on Machine Learning and Data Science (MLDS)
Date Publisheddec
KeywordsAnti-patterns, code smell detection, code smells, composability, Computer science, DETEX, learning (artificial intelligence), Measurement, Metrics, pubcrawl, public domain software, resilience, Resiliency, software developers, software maintenance, software metrics, software quality, Software systems, support vector machine, Support vector machines, SVMCSD, Training

Code smells may be introduced in software due to market rivalry, work pressure deadline, improper functioning, skills or inexperience of software developers. Code smells indicate problems in design or code which makes software hard to change and maintain. Detecting code smells could reduce the effort of developers, resources and cost of the software. Many researchers have proposed different techniques like DETEX for detecting code smells which have limited precision and recall. To overcome these limitations, a new technique named as SVMCSD has been proposed for the detection of code smells, based on support vector machine learning technique. Four code smells are specified namely God Class, Feature Envy, Data Class and Long Method and the proposed technique is validated on two open source systems namely ArgoUML and Xerces. The accuracy of SVMCSD is found to be better than DETEX in terms of two metrics, precision and recall, when applied on a subset of a system. While considering the entire system, SVMCSD detect more occurrences of code smells than DETEX.

Citation Keykaur_support_2017