A Support Vector Machine Based Approach for Code Smell Detection
Title | A Support Vector Machine Based Approach for Code Smell Detection |
Publication Type | Conference Paper |
Year of Publication | 2017 |
Authors | Kaur, A., Jain, S., Goel, S. |
Conference Name | 2017 International Conference on Machine Learning and Data Science (MLDS) |
Date Published | dec |
Keywords | Anti-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 |
Abstract | 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. |
URL | https://ieeexplore.ieee.org/document/8320252/ |
DOI | 10.1109/MLDS.2017.8 |
Citation Key | kaur_support_2017 |
- resilience
- Training
- SVMCSD
- Support vector machines
- support vector machine
- Software systems
- software quality
- software metrics
- software maintenance
- software developers
- Resiliency
- Anti-patterns
- public domain software
- pubcrawl
- Metrics
- Measurement
- learning (artificial intelligence)
- DETEX
- computer science
- composability
- code smells
- code smell detection