arrow
Return

Deep learning with class-level abstract syntax tree and code histories for detecting code modification requirements

delete2023-12-01
delete1
PRE
AI
O
Oguzhan Oktay Buyuk
A
Ali Nizam *
DOI:10.1016/j.jss.2023.111851delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Improving code quality is one of the most significant issues in the software industry. Deep learning is an emerging area of research for detecting code smells and addressing refactoring requirements. The aim of this study is to develop a deep learning-based system for code modification analysis to predict the locations and types of code modifications, while significantly reducing the need for manual labeling. We created an experimental dataset by collecting historical code data from open -source project repositories on the Internet. We introduce a novel class-level abstract syntax tree-based code embedding method for code analysis. A recurrent neural network was employed to effectively identify code modification requirements. Our system achieves an average accuracy of approximately 83% across different repositories and 86% for the entire dataset. These findings indicate that our system provides higher performance than the method-based and text-based code embedding approaches. In addition, we performed a comparative analysis with a static code analysis tool to justify the readiness of the proposed model for deployment. The correlation coefficient between the outputs demonstrates a significant correlation of 67%. Consequently, this research highlights that the deep learning-based analysis of code histories empowers software teams in identifying potential code modification requirements.(c) 2023 Elsevier Inc. All rights reserved.
Keywords:
Refactoring
Code smell
Recurrent neural network
Abstract syntax tree
Code embedding

Journal

Journal of Systems and Software cover
Journal of Systems and Software
IF:
4.1
Papers:
5.4K
Citations:
8.4K

Organization

F
Fatih Sultan Mehmet Vakif University
Scholars:
185
Papers: 200
Citations: 8
Cited Papers

Cited Papers

The Role of Molecular and Inflammatory Indicators in the Assessment of Cognitive Dysfunction in a Mouse Model of Diabetes
err2021-04-09
err0
errOAAI
errIwona Piatkowska-Chmiel; Mariola Herbet; Monika Gawronska-Grzywacz; Marta Ostrowska-Lesko; Jaroslaw Dudka
errShare
errSave
errShare
errSave
errShare
errSave
FindICI: Using machine learning to detect linguistic inconsistencies between code and natural language descriptions in infrastructure-as-code
err2022-09-20
err7
errOAAI
errBorovits, Nemania; Kumara, Indika; Di Nucci, Dario; Krishnan, Parvathy; Dalla Palma, Stefano; Palomba, Fabio; Tamburri, Damian A.; van den Heuvel, Willem-Jan
errShare
errSave
Revisiting the refactoring mechanics
err2019-06-01
err20
PREAI
errOliveira, Jonhnanthan; Gheyi, Rohit; Mongiovi, Melina; Soares, Gustavo; Ribeiro, Marcio; Garcia, Alessandro
errShare
errSave
Comparing and experimenting machine learning techniques for code smell detection
err2015-06-06
err277
PREAI
errFontana, Francesca Arcelli; Mantyla, Mika V.; Zanoni, Marco; Marino, Alessandro
errShare
errSave
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bug-Introducing Changes
err2017-07-01
err139
PREAI
errda Costa, Daniel Alencar; McIntosh, Shane; Shang, Weiyi; Kulesza, Uira; Coelho, Roberta; Hassan, Ahmed E.
errShare
errSave
Code smells and refactoring: A tertiary systematic review of challenges and observations
err2020-09-01
err102
errOAAI
errLacerda, Guilherme; Petrillo, Fabio; Pimenta, Marcelo; Gueheneuc, Yann Gael
errShare
errSave
researcher View more