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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:2022 45th Jubilee International Convention on Information, Communication and Electronic Technology (MIPRO) S. 1393 - 1398
Hauptverfasser: Virmajoki, Joonas, Knutas, Antti, Kasurinen, Jussi
Format: Tagungsbericht
Sprache:Englisch
Veröffentlicht: Croatian Society MIPRO 23.05.2022
Schlagworte:
ISSN:2623-8764
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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