Summary: | 碩士 === 國立清華大學 === 資訊系統與應用研究所 === 102 === How to manage the schedule and allocate resources for the Open Source Software (OSS) product is an important process for software system developers. With both an increase in the size of the program and the limitation of resources, this process has become more important and difficult. The property of OSS makes it more difficult for developers to assess and maintain the product. Our model is designed for the development process that is an iterative process and multi-release. In such a condition, the software development is split into phases, which best describes the situation that developers meet in a real case. The bug tracking data would be collected from a few popular open source products and used for examining the model we propose. The result would show whether the model has the ability to describe the time pattern related to bug reporting or not.
The Traditional Optimal Release Time Planning Problem is about deciding on an optimal solution with constraints on the amount of testing resources with respect to some objective functions (e.g., reliability, or cost). These methods reduce the multi-decision space into a single-objective optimization problem. Although these formulations simplify the problem and reduce the complexity involved, the solutions do not take care of every objective involved. To maximize reliability and to minimize cost should be done at the same time. As a result, we suggest solving the Optimal Release Time Planning Problem with the Multi-objectives Evolutionary Algorithms (MOEAs). To qualify conditions in a realistic situation, we consider the testing cost and system reliability, two of the most important dimensions generally considered, as two objectives. The testing resource consumed is adapted into the third objective.
Since the genetic algorithm has been developed for years, there are many choices to solve MOEAs. We choose the Non-dominated Sorting Genetic Algorithm II (NSGA-II), one of the most famous and useful approaches, as our main method. However, NSGA-II does not guarantee the optimal solution under every condition. The special scenario and the way we improve it is set out in the paper. Also, an improved method is proposed and the experiments are mentioned. To prove that the proposed method is practical and conforms to a realistic case, open source data is used to assess the release time and shows that the proposed method is better than NSGA-II. The Numerical examples are provided to illustrate the practicality.
|