Detecting Code Smells with AI: a Prototype Study

Artificial intelligence is one of the key advances in computing. AI has applications in improving the quality of software, supporting software development tools, and providing smartness to the systems we develop. In this paper, we study the adaptability of AI in a simple software engineering-related...

Full description

Saved in:
Bibliographic Details
Published in:2022 45th Jubilee International Convention on Information, Communication and Electronic Technology (MIPRO) pp. 1393 - 1398
Main Authors: Virmajoki, Joonas, Knutas, Antti, Kasurinen, Jussi
Format: Conference Proceeding
Language:English
Published: Croatian Society MIPRO 23.05.2022
Subjects:
ISSN:2623-8764
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Artificial intelligence is one of the key advances in computing. AI has applications in improving the quality of software, supporting software development tools, and providing smartness to the systems we develop. In this paper, we study the adaptability of AI in a simple software engineering-related problem, a code smell analysis. Code smells are characteristics in the source code that indicate that there is a deeper problem, and they are a long-term nuisance for the developers. The code smells are not syntax or semantics errors, they simply are a product of too many fixes, changes and additions grinding down the code coherence. While it might be easy to refactor to get rid of code smells, first they need to be discovered. In this paper, our research group demonstrates a prototype for detecting these code smells. The prototype was implemented in Python, using machine learning, neural networks, and deep learning as a basis. Training and testing data were taken from external data storages. As a result, the prototype was able to detect two different code smells successfully, with a relatively small amount of training data. In addition, we identified issues that need to be addressed when the line of research and prototype development is pursued further.
ISSN:2623-8764
DOI:10.23919/MIPRO55190.2022.9803727