Assessing Software Quality Using the Markov Decision Processes

Quality of software is one of the most critical concerns in software system development, and many products fail to meet the quality objectives when constructed initially. Software quality is highly affected by the development process's actual dynamics. This article proposes the use of the Markov decision process (MDP) for the assessment of software quality because MDP is a useful technique to abstract the model of dynamics of the development process and to test its impact on quality. Additionally, the MDP modeling of the dynamics leads to early prediction of the quality, from the design phases all the way through the different stages of development. The proposed approach is based on the stochastic nature of the software development process, including project architecture, construction strategy of Software Quality Assurance system, its qualification actions, and team assignment strategy. It accepts these factors as inputs, generating a relative quality degree as an output. The proposed approach has been demonstrated for the design phase with a case study taken from the literature. The results prove its robustness and capability to identify appropriate policies in terms of quality, cost, and time. © 2011 Wiley Periodicals, Inc.

[1]  Simonetta Balsamo,et al.  A simulation-based approach to software performance modeling , 2003, ESEC/FSE-11.

[2]  Frank Padberg Estimating the impact of the programming language on the development time of a software project , 2000 .

[3]  Günter Haring,et al.  Workload modeling for parallel processing systems , 1995, MASCOTS '95. Proceedings of the Third International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[4]  Austen Rainer,et al.  Implementing software process improvement: an empirical study , 2002, Softw. Process. Improv. Pract..

[5]  Frank Padberg A discrete simulation model for assessing software project scheduling policies , 2002, Softw. Process. Improv. Pract..