Evaluation of Attention Mechanisms for Just-In-Time Software Defect Prediction
Just-In-Time Software Defect Prediction (JIT-DP) focuses on predicting errors in software at change-level with the objective of helping developers identify defects while the development process is still ongoing, and improving the quality of software applications. This work studies deep learning tech...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
KTH, Skolan för elektroteknik och datavetenskap (EECS)
2020
|
Subjects: | |
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-288724 |
id |
ndltd-UPSALLA1-oai-DiVA.org-kth-288724 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-kth-2887242021-01-13T05:29:49ZEvaluation of Attention Mechanisms for Just-In-Time Software Defect PredictionengEn Utvärdering av Attention Mechanisms för Just-In-Time Software Defect PredictionIsunza Navarro, Abgeiba YaroslavaKTH, Skolan för elektroteknik och datavetenskap (EECS)2020Just-in-Time Software Defect PredictionAttention MechanismConvolutional Neural NetworkFeature ExtractionJust-in-Time Software Defect PredictionAttention MechanismConvolutional Neural NetworkFeature ExtractionComputer and Information SciencesData- och informationsvetenskapJust-In-Time Software Defect Prediction (JIT-DP) focuses on predicting errors in software at change-level with the objective of helping developers identify defects while the development process is still ongoing, and improving the quality of software applications. This work studies deep learning techniques by applying attention mechanisms that have been successful in, among others, Natural Language Processing (NLP) tasks. We introduce two networks named Convolutional Neural Network with Bidirectional Attention (BACNN) and Bidirectional Attention Code Network (BACoN) that employ a bi-directional attention mechanism between the code and message of a software change. Furthermore, we examine BERT [17] and RoBERTa [57] attention architectures for JIT-DP. More specifically, we study the effectiveness of the aforementioned attention-based models to predict defective commits compared to the current state of the art, DeepJIT [37] and TLEL [101]. Our experiments evaluate the models by using software changes from the OpenStack open source project. The results showed that attention-based networks outperformed the baseline models in terms of accuracy in the different evaluation settings. The attention-based models, particularly BERT and RoBERTa architectures, demonstrated promising results in identifying defective software changes and proved to be effective in predicting defects in changes of new software releases. Just-In-Time Defect Prediction (JIT-DP) fokuserar på att förutspå fel i mjukvara vid ändringar i koden, med målet att hjälpa utvecklare att identifiera defekter medan utvecklingsprocessen fortfarande är pågående, och att förbättra kvaliteten hos applikationsprogramvara. Detta arbete studerar djupinlärningstekniker genom att tillämpa attentionmekanismer som har varit framgångsrika inom, bland annat, språkteknologi (NLP). Vi introducerar två nätverk vid namn Convolutional Neural Network with Bidirectional Attention (BACNN), och Bidirectional Attention Code Network (BACoN), som använder en tvåriktad attentionmekanism mellan koden och meddelandet om en mjukvaruändring. Dessutom undersöker vi BERT [17] och RoBERTa [57], attentionarkitekturer för JIT-DP. Mer specifikt studerar vi hur effektivt dessa attentionbaserade modeller kan förutspå defekta ändringar, och jämför dem med de bästa tillgängliga arkitekturerna DeePJIT [37] och TLEL [101]. Våra experiment utvärderar modellerna genom att använda mjukvaruändringar från det öppna källkodsprojektet OpenStack. Våra resultat visar att attentionbaserade nätverk överträffar referensmodellen sett till träffsäkerheten i de olika scenarierna. De attentionbaserade modellerna, framför allt BERT och RoBERTa, demonstrerade lovade resultat när det kommer till att identifiera defekta mjukvaruändringar och visade sig vara effektiva på att förutspå defekter i ändringar av nya mjukvaruversioner. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-288724TRITA-EECS-EX ; 2020:848application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
topic |
Just-in-Time Software Defect Prediction Attention Mechanism Convolutional Neural Network Feature Extraction Just-in-Time Software Defect Prediction Attention Mechanism Convolutional Neural Network Feature Extraction Computer and Information Sciences Data- och informationsvetenskap |
spellingShingle |
Just-in-Time Software Defect Prediction Attention Mechanism Convolutional Neural Network Feature Extraction Just-in-Time Software Defect Prediction Attention Mechanism Convolutional Neural Network Feature Extraction Computer and Information Sciences Data- och informationsvetenskap Isunza Navarro, Abgeiba Yaroslava Evaluation of Attention Mechanisms for Just-In-Time Software Defect Prediction |
description |
Just-In-Time Software Defect Prediction (JIT-DP) focuses on predicting errors in software at change-level with the objective of helping developers identify defects while the development process is still ongoing, and improving the quality of software applications. This work studies deep learning techniques by applying attention mechanisms that have been successful in, among others, Natural Language Processing (NLP) tasks. We introduce two networks named Convolutional Neural Network with Bidirectional Attention (BACNN) and Bidirectional Attention Code Network (BACoN) that employ a bi-directional attention mechanism between the code and message of a software change. Furthermore, we examine BERT [17] and RoBERTa [57] attention architectures for JIT-DP. More specifically, we study the effectiveness of the aforementioned attention-based models to predict defective commits compared to the current state of the art, DeepJIT [37] and TLEL [101]. Our experiments evaluate the models by using software changes from the OpenStack open source project. The results showed that attention-based networks outperformed the baseline models in terms of accuracy in the different evaluation settings. The attention-based models, particularly BERT and RoBERTa architectures, demonstrated promising results in identifying defective software changes and proved to be effective in predicting defects in changes of new software releases. === Just-In-Time Defect Prediction (JIT-DP) fokuserar på att förutspå fel i mjukvara vid ändringar i koden, med målet att hjälpa utvecklare att identifiera defekter medan utvecklingsprocessen fortfarande är pågående, och att förbättra kvaliteten hos applikationsprogramvara. Detta arbete studerar djupinlärningstekniker genom att tillämpa attentionmekanismer som har varit framgångsrika inom, bland annat, språkteknologi (NLP). Vi introducerar två nätverk vid namn Convolutional Neural Network with Bidirectional Attention (BACNN), och Bidirectional Attention Code Network (BACoN), som använder en tvåriktad attentionmekanism mellan koden och meddelandet om en mjukvaruändring. Dessutom undersöker vi BERT [17] och RoBERTa [57], attentionarkitekturer för JIT-DP. Mer specifikt studerar vi hur effektivt dessa attentionbaserade modeller kan förutspå defekta ändringar, och jämför dem med de bästa tillgängliga arkitekturerna DeePJIT [37] och TLEL [101]. Våra experiment utvärderar modellerna genom att använda mjukvaruändringar från det öppna källkodsprojektet OpenStack. Våra resultat visar att attentionbaserade nätverk överträffar referensmodellen sett till träffsäkerheten i de olika scenarierna. De attentionbaserade modellerna, framför allt BERT och RoBERTa, demonstrerade lovade resultat när det kommer till att identifiera defekta mjukvaruändringar och visade sig vara effektiva på att förutspå defekter i ändringar av nya mjukvaruversioner. |
author |
Isunza Navarro, Abgeiba Yaroslava |
author_facet |
Isunza Navarro, Abgeiba Yaroslava |
author_sort |
Isunza Navarro, Abgeiba Yaroslava |
title |
Evaluation of Attention Mechanisms for Just-In-Time Software Defect Prediction |
title_short |
Evaluation of Attention Mechanisms for Just-In-Time Software Defect Prediction |
title_full |
Evaluation of Attention Mechanisms for Just-In-Time Software Defect Prediction |
title_fullStr |
Evaluation of Attention Mechanisms for Just-In-Time Software Defect Prediction |
title_full_unstemmed |
Evaluation of Attention Mechanisms for Just-In-Time Software Defect Prediction |
title_sort |
evaluation of attention mechanisms for just-in-time software defect prediction |
publisher |
KTH, Skolan för elektroteknik och datavetenskap (EECS) |
publishDate |
2020 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-288724 |
work_keys_str_mv |
AT isunzanavarroabgeibayaroslava evaluationofattentionmechanismsforjustintimesoftwaredefectprediction AT isunzanavarroabgeibayaroslava enutvarderingavattentionmechanismsforjustintimesoftwaredefectprediction |
_version_ |
1719372570752450560 |