Software engineering--Quality control

Model
Digital Document
Publisher
Florida Atlantic University
Description
The software development process is an incremental and iterative activity.
Source code is constantly altered to reflect changing requirements, to respond to
testing results, and to address problem reports. Proper software measurement that
derives meaningful numeric values for some attributes of a software product or
process can help in identifying problem areas and development bottlenecks. Impact
analysis is the evaluation of the risks associated with change requests or problem
reports, including estimates of effects on resources, effort, and schedule. This thesis
presents a methodology called VITA for applying software analysis techniques to
configuration management repository data with the aim of identifying the impact on
file changes due to change requests and problem reports. The repository data can be
analyzed and visualized in a semi-automated manner according to user-selectable
criteria. The approach is illustrated with a model problem concerning software
process improvement of an embedded software system in the context of performing
high-quality software maintenance.
Model
Digital Document
Publisher
Florida Atlantic University
Description
The key to developing high-quality software is the measurement and modeling of software quality. In practice, software measurements are often used as a resource to model and comprehend the quality of software. The use of software measurements to understand quality is accomplished by a software quality model that is trained using software metrics and defect data of similar, previously developed, systems. The model is then applied to estimate quality of the target software project. Such an approach assumes that defect data is available for all program modules in the training data. Various practical issues can cause an unavailability or limited availability of defect data from the previously developed systems. This dissertation presents innovative and practical techniques for addressing the problem of software quality analysis when there is limited or completely absent defect data. The proposed techniques for software quality analysis without defect data include an expert-based approach with unsupervised clustering and an expert-based approach with semi-supervised clustering. The proposed techniques for software quality analysis with limited defect data includes a semi-supervised classification approach with the Expectation-Maximization algorithm and an expert-based approach with semi-supervised clustering. Empirical case studies of software measurement datasets obtained from multiple NASA software projects are used to present and evaluate the different techniques. The empirical results demonstrate the attractiveness, benefit, and definite promise of the proposed techniques. The newly developed techniques presented in this dissertation is invaluable to the software quality practitioner challenged by the absence or limited availability of defect data from previous software development experiences.