Personalized Defect Prediction
Academia and industry expend much effort to predict software defects. Researchers proposed many defect prediction algorithms and metrics. While previous defect prediction techniques often take the author of the code into consideration, none of these techniques build a separate prediction model for e...
Main Author: | |
---|---|
Language: | en |
Published: |
2013
|
Subjects: | |
Online Access: | http://hdl.handle.net/10012/7786 |
id |
ndltd-LACETR-oai-collectionscanada.gc.ca-OWTU.10012-7786 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-LACETR-oai-collectionscanada.gc.ca-OWTU.10012-77862013-10-04T04:12:26ZJiang, Tian2013-08-30T15:17:54Z2013-08-30T15:17:54Z2013-08-30T15:17:54Z2013http://hdl.handle.net/10012/7786Academia and industry expend much effort to predict software defects. Researchers proposed many defect prediction algorithms and metrics. While previous defect prediction techniques often take the author of the code into consideration, none of these techniques build a separate prediction model for each developer. Different developers have different coding styles, commit frequencies, and experience levels, which would result in different defect patterns. When the defects of different developers are combined, such differences are obscured, hurting the prediction performance. This thesis proposes two techniques to improve defect prediction performance: personalized defect prediction and confidence-based hybrid defect prediction. Personalized defect prediction builds a separate prediction model for each developer to predict software defects. Confidence-based hybrid defect prediction combines different models by picking the prediction from the model with the highest confidence. As a proof of concept, we apply the two techniques to classify defects at the file change level. We implement the state-of-the-art change classification as the baseline and compare with the personalized defect prediction approach. Confidence-based defect prediction combines these two models. We evaluate on six large and popular software projects written in C and Java—the Linux kernel, PostgreSQL, Xorg, Eclipse, Lucene and Jackrabbit.enchange classificationdefect predictionmachine learningsoftware reliabilityPersonalized Defect PredictionThesis or DissertationElectrical and Computer EngineeringMaster of Applied ScienceElectrical and Computer Engineering |
collection |
NDLTD |
language |
en |
sources |
NDLTD |
topic |
change classification defect prediction machine learning software reliability Electrical and Computer Engineering |
spellingShingle |
change classification defect prediction machine learning software reliability Electrical and Computer Engineering Jiang, Tian Personalized Defect Prediction |
description |
Academia and industry expend much effort to predict software defects. Researchers proposed many defect prediction algorithms and metrics. While previous defect prediction techniques often take the author of the code into consideration, none of these techniques build a separate prediction model for each developer. Different developers have different coding styles, commit frequencies, and experience levels, which would result in different defect patterns. When the defects of different developers are combined, such differences are obscured, hurting the prediction performance.
This thesis proposes two techniques to improve defect prediction performance: personalized defect prediction and confidence-based hybrid defect prediction. Personalized defect prediction builds a separate prediction model for each developer to predict software defects. Confidence-based hybrid defect prediction combines different models by picking the prediction from the model with the highest confidence. As a proof of concept, we apply the two techniques to classify defects at the file change level. We implement the state-of-the-art change classification as the baseline and compare with the personalized defect prediction approach. Confidence-based defect prediction combines these two models. We evaluate on six large and popular software projects written in C and Java—the Linux kernel, PostgreSQL, Xorg, Eclipse, Lucene and Jackrabbit. |
author |
Jiang, Tian |
author_facet |
Jiang, Tian |
author_sort |
Jiang, Tian |
title |
Personalized Defect Prediction |
title_short |
Personalized Defect Prediction |
title_full |
Personalized Defect Prediction |
title_fullStr |
Personalized Defect Prediction |
title_full_unstemmed |
Personalized Defect Prediction |
title_sort |
personalized defect prediction |
publishDate |
2013 |
url |
http://hdl.handle.net/10012/7786 |
work_keys_str_mv |
AT jiangtian personalizeddefectprediction |
_version_ |
1716601145203359744 |