Font Size: a A A

Using metrics of scattering to assess software quality

Posted on:2012-02-24Degree:Ph.DType:Dissertation
University:University of Southern CaliforniaCandidate:Perez, Gustavo UanusFull Text:PDF
GTID:1458390008990674Subject:Computer Science
Abstract/Summary:
Defect prediction and removal continues to be an important subject in software engineering. Previous studies have shown that reworking defects introduced at different phases of the development lifecycle typically consumes on average 40% to 50% of the total cost of the software implementation. Another important factor is the time between the injection of the defect in the code and when it is identified and removed. It has been demonstrated that the longer the defect is in the product the larger the number of elements that will likely be involved with it increasing the cost of fixing the defect. This work investigates the defects introduced during the coding phase of the development lifecycle of a software project. Considering that a high percentage of the defects are introduced in the source code at this phase, finding ways to better understand how they are introduced can have a significant impact in the testing and maintenance costs of a project and consequently in the quality of the final product.;This dissertation is the result of a series of investigations in the domain of quality assurance through the use of attributes of code evolution and more specifically attributes of code churn. Code churn represents a measure of the amount of code change taking place within a code unit over time.;Software systems are developed and evolved through a sequence of events of churn in their source code. These changes follow specific patterns and are characterized by a series of attributes such as size and frequency. Previous studies have successfully used some of the attributes of code churn as predictors of software quality. The problem is that these attributes of churn alone provide only a partial representation of how the source code evolved. Very few studies have focused on how the process followed by the developers to implement the code can impact quality limiting the ability to understand how the pattern of changes performed by the developers impacts its quality.;This dissertation is based on the belief that a complex code development process has a negative impact in the quality of the software. One way to measure this complexity is by modeling the level of scattering of the changes performed in the project. The concept of Information Theory is used as an innovative approach to model these patterns of changes. More specifically, Shannon's mathematical model (Shannon's Entropy)---developed to measure the amount of uncertainty in a distribution---is applied to generate a group of metrics that measure how scattered are the changes performed in the source code of software project. The study is empirically validated by a series of statistical analysis using data derived from the development process of four large real projects from an established software company.
Keywords/Search Tags:Software, Quality, Code, Development, Project
Related items