Skip to Main Content
Optimal decision making is of utmost importance for planning, controlling, and working of any industry. One of the fields where mathematical modeling and optimization have been vastly applied is software reliability, which is the most significant quality metric for commercial software. Such softwares are generally modular in structure. Testing provides a mathematical measure of software reliability and is a process of raising the confidence that the software is free of flaws. However, due to the complexity of software, the testing team may not be able to remove/correct the fault perfectly on observation/detection of a failure and the original fault may remain resulting in a phenomenon known as imperfect debugging, or get replaced by another fault causing error generation. Moreover, fault detection/correction rate may not be same throughout testing; it may change at any time moment called as change point. Also, testing cannot be done indefinitely due to the availability of limited testing resources. In this paper we formulate an optimization problem to allocate the resources among different modules such that the total fault removal is maximized while incorporating the effect of both types of imperfect debugging and change point. The relative importance of each module is obtained using Analytical Hierarchy Process. We have also considered the problem of determining minimum requirement of the testing resources so that a desired proportion of faults are removed from each module. The non linear optimization problems are solved using genetic algorithm. Numerical example has been discussed to illustrate the solution of the formulated optimal resource allocation problems.