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

Full description

Bibliographic Details
Main Author: Jiang, Tian
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