Using Maintainability Based Risk Assessment and Severity Analysis in Prioritizing Corrective Maintenance Tasks

A software product spends more than 65% of its lifecycle in maintenance. Software systems with good maintainability can be easily modified to fix faults. We define maintainability-based risk as a product of two factors: the probability of performing maintenance tasks and the impact of performing these tasks. In this paper, we present a methodology for assessing maintainability-based risk in the context of corrective maintenance. The proposed methodology depends on the architectural artifacts and their evolution through the life cycle of the system. In order to prioritize corrective maintenance tasks, we combine components' maintainability- based risk with the severity of a failure that may happen as a result of unfixed fault. We illustrate the methodology on a case study using UML models.

[1]  E. Burton Swanson,et al.  The dimensions of maintenance , 1976, ICSE '76.

[2]  Andrea De Lucia,et al.  Effort estimation for corrective software maintenance , 2002, SEKE '02.

[3]  Brendan Murphy,et al.  Reliability growth in software products , 2004, 15th International Symposium on Software Reliability Engineering.

[4]  Hany H. Ammar,et al.  Architectural level maintainability based risk assessment , 2005 .

[5]  Bin Li,et al.  Integrating software into PRA , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[6]  Thomas M. Pigoski Practical Software Maintenance: Best Practices for Managing Your Software Investment , 1996 .

[7]  Paul W. Oman,et al.  Construction and testing of polynomials predicting software maintainability , 1994, J. Syst. Softw..

[8]  Kumaraswamy Ponnambalam,et al.  A maintainability model for industrial software systems using design level metrics , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[9]  Hany H. Ammar,et al.  Software architectures change propagation tool (SACPT) , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[10]  Hany H. Ammar,et al.  Model-based performance risk analysis , 2005, IEEE Transactions on Software Engineering.

[11]  K. Goseva-Popstojanova,et al.  Methodology for maintainability-based risk assessment , 2006, RAMS '06. Annual Reliability and Maintainability Symposium, 2006..

[12]  Hany H. Ammar,et al.  Quantifying software architectures: an analysis of change propagation probabilities , 2005, The 3rd ACS/IEEE International Conference onComputer Systems and Applications, 2005..

[13]  Susan A. Sherer Using risk analysis to manage software maintenance , 1997, J. Softw. Maintenance Res. Pract..

[14]  Hany H. Ammar,et al.  Architectural level risk assessment tool based on UML specifications , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[15]  Swapna S. Gokhale,et al.  Software defect rediscoveries: a discrete lognormal model , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[16]  John D. Musa,et al.  Software reliability engineering : more reliable software, faster development and testing , 1999 .

[17]  Hany H. Ammar,et al.  Architectural-Level Risk Analysis Using UML , 2003, IEEE Trans. Software Eng..

[18]  Susan A. Sherer Using risk analysis to manage software maintenance , 1997 .

[19]  Carolyn Seaman,et al.  Practical Software Maintenance , 2000, J. Softw. Maintenance Res. Pract..

[20]  Eric K. Clemons,et al.  Methodology for the assessment of software risk , 1988 .

[21]  Hany H. Ammar,et al.  A Methodology for Architecture-Level Reliability Risk Analysis , 2002, IEEE Trans. Software Eng..

[22]  Hany H. Ammar,et al.  Methodology for architecture level hazard analysis, a survey , 2003 .