Due to the growing complexity of software applications, increasing dependence on the services offered by these applications, and decreasing resources available to build and maintain them, reliability assessment of an application must provide systematic, quantitative guidance for cost-effective reliability improvement. The guidance must also consider the interplay of reliability with other attributes such as performance, cost, and effort to strike the right balance between them. Architecture-based software reliability analysis offers the potential to provide such early guidance considering the tradeoffs among multiple attributes. The project will enable advances in architecture-based software reliability analysis through the development of: (i) modeling techniques to consider the characteristics of real-life software applications including concurrency, deterministic execution times of components, interface failures, failure severities, and architecture styles, (ii) analysis techniques to facilitate component prioritization and quantification of confidence intervals, (iii) estimation techniques to determine model parameters from different software artifacts, and (iv) optimization techniques to allow two-way and three-way tradeoffs between performance, reliability, cost, and effort. Evaluation and validation of the developed techniques will be based both on controlled experiments and real-life case studies.

The outcomes of the research will be disseminated via publications and will be implemented in a user-friendly tool which will be made available via the Web. A comprehensive education plan is integrated with the project. The plan comprises: (i) curriculum development of graduate and undergraduate courses, (ii) short courses and tutorials for presentation at conferences and industrial and research institutions, (iii) international educational visits, (iv) involvement and participation of high school and middle school students and their teachers, and (v) involvement of underrepresented groups and minorities.

Project Report

Intellectual merit: The project developed novel, sophisticated and scalable techniques to assess the reliability of software systems based on their architecture. The developed techniques can now consider features such found in modern applications such as correlations among components, distributed deployment of components,and concurrent execution. Approaches to analyze the sensitivity of application reliability to uncertainties in the parameter estimates and quantifying the confidence intervals in the parameter estimates were developed. Methods to estimate the parameters of the models based on artifacts such as code coverage, and performance data were developed. The techniques were demonstrated on in-house and industrial software applications. Broader Impacts: The broader impact of the project include: Doctoral and master's students: Three doctoral students and three masters students completed their dissertations and theses during the award period. Training graduate and undergraduate students: The techniques developed in the project were introduced to the students in various graduate and undergraduate classes taught by the PI. The students were expected to apply these techniques in semester-long projects assigned during these courses. Involving undergraduate students: The PI involved undergraduate students in her research through various channels including independent studies, and senior design projects. Training professional software engineers: Through tutorials and short courses presented at various international conferences, the PI exposed practicing software engineers to the state-of-the-art reliability assessment techniques. Industrial collaborations: The project spawned industrial collaborations with colleagues from Alcatel-Lucent, Cisco, HP, and Fujitsu. Publications: The project resulted in over 50 publications in premier conference proceedings and journals including IEEE Transactions on Reliability, IEEE Transactions on Software Engineering, Journal of Systems and Software, Journal of Software Testing, Verification and Reliability, Annual Reliability and Maintainability Symposium, and Intl. Symposium on Software Reliability Engineering.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
0643971
Program Officer
M. Mimi McClure
Project Start
Project End
Budget Start
2007-01-15
Budget End
2013-12-31
Support Year
Fiscal Year
2006
Total Cost
$399,993
Indirect Cost
Name
University of Connecticut
Department
Type
DUNS #
City
Storrs
State
CT
Country
United States
Zip Code
06269