Selecting Optimal Maintenance Plans Based on Cost/Reliability Tradeoffs for Software Subject to Structural and Behavioral Changes

Software maintenance is assuming ever more a crucial role in the lifecycle due to the high variability of software requirements and environment. New development paradigms are being defined to support the numerous decisions that have to be taken after the software deployment. On the basis of the increasing request of software quality, nonfunctional attributes should enter in the decisional process to avoid changes that compromise the software quality. In this paper we define an optimization model that drives the choice of a maintenance plan (i.e. a set of maintenance actions to be taken) in correspondence of a certain change scenario. A change scenario is a set of new requirements that induce changes in the structural and behavioral architecture of the software system. The solution of such model, as shown in this paper on a mobile application, provides the set of actions that minimize the maintenance cost while guaranteeing a certain level of software reliability. We also show how this instrument can be used to perform a sensitivity analysis of maintenance plans vs cost/reliability tradeoff.

[1]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007, IEEE Transactions on Software Engineering.

[2]  Lars Grunske,et al.  Identifying "good" architectural design alternatives with multi-objective optimization strategies , 2006, ICSE.

[3]  James M. Bieman,et al.  Software architecture classification for estimating the cost of COTS integration , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[4]  Andreea Vescan Pareto Dominance-Based Approach for the Component Selection Problem , 2008, 2008 Second UKSIM European Symposium on Computer Modeling and Simulation.

[5]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

[6]  Liming Zhu,et al.  A framework for classifying and comparing software architecture evaluation methods , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[7]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

[8]  Vincenzo Grassi,et al.  A model-driven approach to performability analysis of dynamically reconfigurable component-based systems , 2007, WOSP '07.

[9]  Thomas Risse,et al.  Combining global optimization with local selection for efficient QoS-aware service composition , 2009, WWW '09.

[10]  Heiko Koziolek,et al.  Performance-oriented Design Space Exploration , 2008 .

[11]  Hervé Grall,et al.  A Multi-stage Approach for Reliable Dynamic Reconfigurations of Component-Based Systems , 2008, DAIS.

[12]  Hany H. Ammar,et al.  Error propagation in software architectures , 2004 .

[13]  Thomas Neubauer,et al.  Interactive Decision Support for Multiobjective COTS Selection , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[14]  Armin Eberlein,et al.  Sensitivity analysis in the process of COTS mismatch-handling , 2008, Requirements Engineering.

[15]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[16]  Nenad Medvidovic,et al.  A Bayesian Model for Predicting Reliability of Software Systems at the Architectural Level , 2007, QoSA.

[17]  Enrique Alba,et al.  Software project management with GAs , 2007, Inf. Sci..

[18]  Reidar Conradi,et al.  An empirical study of variations in COTS-based software development processes in Norwegian IT industry , 2004 .

[19]  Armin Eberlein,et al.  COTS Selection: Past, Present, and Future , 2007, 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'07).

[20]  Steffen Becker,et al.  Performance Prediction of Component-Based Systems - A Survey from an Engineering Perspective , 2004, Architecting Systems with Trustworthy Components.

[21]  Günther Ruhe,et al.  Bi-objective release planning for evolving software systems , 2007, ESEC-FSE '07.

[22]  Vittorio Cortellessa,et al.  Automated Selection of Software Components Based on Cost/Reliability Tradeoff , 2006, EWSA.

[23]  Peter H. N. de With,et al.  A Process for Resolving Performance Trade-Offs in Component-Based Architectures , 2006, CBSE.

[24]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[25]  Vittorio Cortellessa,et al.  How Can Optimization Models Support the Maintenance of Component-Based Software? , 2009, 2009 1st International Symposium on Search Based Software Engineering.

[26]  Kishor S. Trivedi Probability and Statistics with Reliability, Queuing, and Computer Science Applications , 1984 .

[27]  Giuliano Antoniol,et al.  Search-based techniques applied to optimization of project planning for a massive maintenance project , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[28]  Mark Harman,et al.  Pareto optimal search based refactoring at the design level , 2007, GECCO '07.

[29]  Giuliano Antoniol,et al.  Software project planning for robustness and completion time in the presence of uncertainty using multi objective search based software engineering , 2009, GECCO.

[30]  D MusaJohn Operational Profiles in Software-Reliability Engineering , 1993 .

[31]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007 .

[32]  John D. Musa,et al.  Operational profiles in software-reliability engineering , 1993, IEEE Software.

[33]  Shan Tang,et al.  An Adaptive Software Architecture Model Based on Component-Mismatches Detection and Elimination , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.