CAREER: A Two-Tier Approach for the Analysis and Evolution of High-Integrity Software Product Lines
PI: Gerald C. Gannod
The objective of the research component of this project is to develop software architecture analysis and software reverse engineering techniques that support the evolution of existing software into software product lines with an emphasis on high-integrity systems. To this end, this research will first involve the development of an approach for analyzing software from both the architecture and component views in order to support assessment along different quality attribute dimensions. The approach will consist of models for static and dynamic analysis as well as simulation to determine level of compliance with quality attribute constraints. Second, this research will involve the development of a methodology for modifying and evolving software at both the architecture and component levels in order to ensure compliance with different quality attribute constraints and goals. For the software architecture community, this research will address a need for analysis approaches that allow software architects to assess the extent to which a software architecture meets various quality concerns. In addition, the results of this research will facilitate the long-term evolution of a software architecture based on long-term product-line goals. For the software reverse engineering and maintenance community, this research addresses the need for approaches that allow a software maintainer to determine the extent of the support for various quality attributes by individual components and provides a technique that facilitates component modification in order to ensure compliance to quality constraints.