Optimal Resource Allocation for Reducing Software Defects
Software patch management has now assumed tremendous significance and it directly affects the customer opinion about the quality and security of the released product. Hence, software vendors are forced to put in substantial amount of effort for servicing released products, and maintain a fairly regular patch release cycle. The right amount of effort becomes critical to balance the need of developing new products versus fixing old ones. In this paper, we use a control theoretic approach to study the problem of dynamically determining the optimal effort needed for software maintenance by evaluating the cost of finding and fixing bugs versus the cost associated with not releasing the patch. Since these costs are usually non-linear in practice, finding the optimal effort dynamically is non-trivial. Our results show that the initial quality of the released product is an important factor in formulating the optimal strategy. Based on our results, we provide several managerial insights that can be used by software vendors to efficiently allocate resources for software development and maintenance after the product is released