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

Full description

Bibliographic Details
Main Author: Isunza Navarro, Abgeiba Yaroslava
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