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

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:2022 45th Jubilee International Convention on Information, Communication and Electronic Technology (MIPRO) s. 1393 - 1398
Hlavní autoři: Virmajoki, Joonas, Knutas, Antti, Kasurinen, Jussi
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: Croatian Society MIPRO 23.05.2022
Témata:
ISSN:2623-8764
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract 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.
AbstractList 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.
Author Kasurinen, Jussi
Virmajoki, Joonas
Knutas, Antti
Author_xml – sequence: 1
  givenname: Joonas
  surname: Virmajoki
  fullname: Virmajoki, Joonas
  organization: LUT University,School of Engineering Science (LENS),Lappeenranta,Finland
– sequence: 2
  givenname: Antti
  surname: Knutas
  fullname: Knutas, Antti
  email: antti.knutas@lut.fi
  organization: LUT University,School of Engineering Science (LENS),Lappeenranta,Finland
– sequence: 3
  givenname: Jussi
  surname: Kasurinen
  fullname: Kasurinen, Jussi
  email: jussi.kasurinen@lut.fi
  organization: LUT University,School of Engineering Science (LENS),Lappeenranta,Finland
BookMark eNotj11LwzAYhaMoOGd_gTf5A53JmzQf3o36VZhs6O5H0r7RQNeONiL99xbc1YHzwOE5t-Sq6zskhHK2AmG5fXivdh_bouB2LhjAyhomNOgLklltbCFACM7AXJIFKBC50UrekGwco2cSpGbMqgVhT5iwTrH7omXfIP08YtuO9Demb7quHqmju6FPfZpOM0s_zXRHroNrR8zOuST7l-d9-ZZvtq9Vud7kURqda6V1IwOYwEXwwjTaAfJgtLdo3ezZMOs1BFegV84Yj75mDmwNRmGhpFiS-__ZiIiH0xCPbpgO54viDwmqRt4
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.23919/MIPRO55190.2022.9803727
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE/IET Electronic Library (IEL) (UW System Shared)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE/IET Electronic Library (IEL) (UW System Shared)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
EISBN 9789532331028
9532331026
9789532331035
9532331034
EISSN 2623-8764
EndPage 1398
ExternalDocumentID 9803727
Genre orig-research
GroupedDBID 6IE
6IL
ALMA_UNASSIGNED_HOLDINGS
CBEJK
M43
RIE
RIL
ID FETCH-LOGICAL-i487-7677d4f28f13fb38d7a2e1f87b9e9a037d09b72fa5eb6a88bebc0a29c286e5643
IEDL.DBID RIE
IngestDate Wed Jun 26 19:25:03 EDT 2024
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i487-7677d4f28f13fb38d7a2e1f87b9e9a037d09b72fa5eb6a88bebc0a29c286e5643
PageCount 6
ParticipantIDs ieee_primary_9803727
PublicationCentury 2000
PublicationDate 2022-May-23
PublicationDateYYYYMMDD 2022-05-23
PublicationDate_xml – month: 05
  year: 2022
  text: 2022-May-23
  day: 23
PublicationDecade 2020
PublicationTitle 2022 45th Jubilee International Convention on Information, Communication and Electronic Technology (MIPRO)
PublicationTitleAbbrev MIPRO
PublicationYear 2022
Publisher Croatian Society MIPRO
Publisher_xml – name: Croatian Society MIPRO
SSID ssib042470096
Score 1.7951355
Snippet Artificial intelligence is one of the key advances in computing. AI has applications in improving the quality of software, supporting software development...
SourceID ieee
SourceType Publisher
StartPage 1393
SubjectTerms Artificial intelligence
Codes
Maintenance engineering
Neural networks
Prototypes
Software
Training
Title Detecting Code Smells with AI: a Prototype Study
URI https://ieeexplore.ieee.org/document/9803727
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEB7a4sGTSiu-ycGj22aT7CbxJtViD9ZFe-itJJtZKNSu9CH47022a0Xw4i0MJMxkEr7JPDIA1xYptc7fNMe8GkTCbWRyjCOtApobwY22VbMJORqpyURnDbjZ1cIgYpV8ht0wrGL5rsw3wVXW04pyj7dNaEqZbmu1vs-OYEIGc3ybrMO4jnXvaZi9PHuLQHuCh6puPf1XH5UKRgYH_2PgEDo_9Xgk2yHNETRw0QZ6jyEA4AmkXzokr284n69IcKySu-EtMWHKugw-VhKyBT87MB48jPuPUd3_IJr5Z0QkUymdKJgqYl5Yrpw0DONCSatRG8-Io9pKVpgEbWqUsmhzapjOmUox8ZbGMbQW5QJPgDgUCYoUjfArInLrzSQVi0RSbbSJ5Sm0g7DT9-0PF9NazrO_yeewH_YzxNAZv4DWernBS9jLP9az1fKqUssX9GCMzg
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEB5qFfSk0opvc_Do1myS3STepFpabGvRHnoryWYWCrWVPgT_vcm2VgQv3sJAwkwm4ZvMIwNwbZFS6_xNc8yrQSTcRibDONIqoLkR3GhbNJuQ3a4aDHSvBDebWhhELJLPsBaGRSzfTbNlcJXdakW5x9st2E6EYHRVrfV9egQTMhjkq3QdxnWsbzut3suztwm0J3iwqq0X-NVJpQCSxv7_WDiA6k9FHultsOYQSjipAH3AEALwBFKfOiSvbzgez0lwrZL71h0xYcpiGrysJOQLflah33js15vRugNCNPIPiUimUjqRM5XHPLdcOWkYxrmSVqM2nhFHtZUsNwna1Chl0WbUMJ0xlWLibY0jKE-mEzwG4lAkKFI0wq-IyK03lFQsEkm10SaWJ1AJwg7fV39cDNdynv5NvoLdZr_THrZb3acz2At7GyLqjJ9DeTFb4gXsZB-L0Xx2WajoC3xXkBU
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2022+45th+Jubilee+International+Convention+on+Information%2C+Communication+and+Electronic+Technology+%28MIPRO%29&rft.atitle=Detecting+Code+Smells+with+AI%3A+a+Prototype+Study&rft.au=Virmajoki%2C+Joonas&rft.au=Knutas%2C+Antti&rft.au=Kasurinen%2C+Jussi&rft.date=2022-05-23&rft.pub=Croatian+Society+MIPRO&rft.eissn=2623-8764&rft.spage=1393&rft.epage=1398&rft_id=info:doi/10.23919%2FMIPRO55190.2022.9803727&rft.externalDocID=9803727