Font Size: a A A

A methodology for risk assessment of product line architectures

Posted on:2009-05-31Degree:M.SType:Thesis
University:West Virginia UniversityCandidate:Jalali, Amir HFull Text:PDF
GTID:2448390005454660Subject:Computer Science
Abstract/Summary:
The study of software architecture is gaining importance due to the critical role it plays in most methodologies of software engineering. Various architectural attributes including error propagation, change propagation, and requirements propagation can provide a wealth of information about software architectures and the quality of their products.;Software product line engineering is a methodology of software engineering that emphasizes reusability, in a related family of products. PLAs are being developed by NASA for flight control, guidance, and navigation.;The intersection of product line development and software architecture analysis raises unique problems, which make it difficult to analyze the quality of the common architecture of the product line. Current metrics that have been proposed for the assessment of product line architecture (PLA) are limited to either analyzing the quality of the common architecture by scenario, or individual products of that architecture. None of these techniques offer a method of analysis that encompasses the entire range of products, and consequently the overall quality of the product line architecture.;In this thesis, a new technique of PLA evaluation is introduced. This technique incorporates automatic assessment of randomly generated instances of a PLA, and relies on data mining techniques to find indicators for predicting risk from the extracted data. This process aims to provide a complete assessment of the common architecture, in a cost effective manner. This methodology is referred to as Generalization Across the Space of all Products (GASP).;Three case studies were developed using varying PLA paradigms to test the GASP methodology. The models were analyzed for risk using the Software Architecture Risk Assessment (SARA) Tool. The datasets were then analyzed using different methods of data mining and other techniques such as feature subset selection and clustering. It is reported that not all classifiers perform equally when it comes to PLA analysis and specific recommendations are made on how to improve the case studies by applying the lessons learned from GASP.;It is demonstrated that by selecting a reduced number of optional classes from the common architecture of a PLA for microwave ovens, the overall number of high risk products can be reduced. This can help the software architect reduce risk in the common architecture by consolidating classes, or excluding less significant classes. The GASP process was able to identify a number of high risk classes as well.
Keywords/Search Tags:Architecture, Risk, Product line, PLA, Software, GASP, Assessment, Methodology
Related items