MiSFIT: Mining Software Fault Information and Types

As software becomes more important to society, the number, age, and complexity of systems grow. Software organizations require continuous process improvement to maintain the reliability, security, and quality of these software systems. Software organizations can utilize data from manual fault classi...

Full description

Bibliographic Details
Main Author: Kidwell, Billy R
Format: Others
Published: UKnowledge 2015
Subjects:
Online Access:http://uknowledge.uky.edu/cs_etds/33
http://uknowledge.uky.edu/cgi/viewcontent.cgi?article=1036&context=cs_etds
id ndltd-uky.edu-oai-uknowledge.uky.edu-cs_etds-1036
record_format oai_dc
spelling ndltd-uky.edu-oai-uknowledge.uky.edu-cs_etds-10362015-04-28T05:53:20Z MiSFIT: Mining Software Fault Information and Types Kidwell, Billy R As software becomes more important to society, the number, age, and complexity of systems grow. Software organizations require continuous process improvement to maintain the reliability, security, and quality of these software systems. Software organizations can utilize data from manual fault classification to meet their process improvement needs, but organizations lack the expertise or resources to implement them correctly. This dissertation addresses the need for the automation of software fault classification. Validation results show that automated fault classification, as implemented in the MiSFIT tool, can group faults of similar nature. The resulting classifications result in good agreement for common software faults with no manual effort. To evaluate the method and tool, I develop and apply an extended change taxonomy to classify the source code changes that repaired software faults from an open source project. MiSFIT clusters the faults based on the changes. I manually inspect a random sample of faults from each cluster to validate the results. The automatically classified faults are used to analyze the evolution of a software application over seven major releases. The contributions of this dissertation are an extended change taxonomy for software fault analysis, a method to cluster faults by the syntax of the repair, empirical evidence that fault distribution varies according to the purpose of the module, and the identification of project-specific trends from the analysis of the changes. 2015-01-01T08:00:00Z text application/pdf http://uknowledge.uky.edu/cs_etds/33 http://uknowledge.uky.edu/cgi/viewcontent.cgi?article=1036&context=cs_etds Theses and Dissertations--Computer Science UKnowledge software faults software fault classification software taxonomy mining software repositories software evolution Computational Engineering Computer and Systems Architecture Computer Engineering
collection NDLTD
format Others
sources NDLTD
topic software faults
software fault classification
software taxonomy
mining software repositories
software evolution
Computational Engineering
Computer and Systems Architecture
Computer Engineering
spellingShingle software faults
software fault classification
software taxonomy
mining software repositories
software evolution
Computational Engineering
Computer and Systems Architecture
Computer Engineering
Kidwell, Billy R
MiSFIT: Mining Software Fault Information and Types
description As software becomes more important to society, the number, age, and complexity of systems grow. Software organizations require continuous process improvement to maintain the reliability, security, and quality of these software systems. Software organizations can utilize data from manual fault classification to meet their process improvement needs, but organizations lack the expertise or resources to implement them correctly. This dissertation addresses the need for the automation of software fault classification. Validation results show that automated fault classification, as implemented in the MiSFIT tool, can group faults of similar nature. The resulting classifications result in good agreement for common software faults with no manual effort. To evaluate the method and tool, I develop and apply an extended change taxonomy to classify the source code changes that repaired software faults from an open source project. MiSFIT clusters the faults based on the changes. I manually inspect a random sample of faults from each cluster to validate the results. The automatically classified faults are used to analyze the evolution of a software application over seven major releases. The contributions of this dissertation are an extended change taxonomy for software fault analysis, a method to cluster faults by the syntax of the repair, empirical evidence that fault distribution varies according to the purpose of the module, and the identification of project-specific trends from the analysis of the changes.
author Kidwell, Billy R
author_facet Kidwell, Billy R
author_sort Kidwell, Billy R
title MiSFIT: Mining Software Fault Information and Types
title_short MiSFIT: Mining Software Fault Information and Types
title_full MiSFIT: Mining Software Fault Information and Types
title_fullStr MiSFIT: Mining Software Fault Information and Types
title_full_unstemmed MiSFIT: Mining Software Fault Information and Types
title_sort misfit: mining software fault information and types
publisher UKnowledge
publishDate 2015
url http://uknowledge.uky.edu/cs_etds/33
http://uknowledge.uky.edu/cgi/viewcontent.cgi?article=1036&context=cs_etds
work_keys_str_mv AT kidwellbillyr misfitminingsoftwarefaultinformationandtypes
_version_ 1716802159765356544