透過您的圖書館登入
IP:3.235.130.73
  • 學位論文

考量多重目標最佳化之開放原始碼軟體釋放時機與管理

Open Source Software Release Time and Management Considering Multi-objective Optimization

指導教授 : 黃慶育
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


對於開放原始碼軟體系統開發者來說,首要的工作便是掌握開發時程和資源分配,由於隨著程式規模的增加以及資源的限制性,這項工作困難度隨著重要性一起提高。開放原始碼軟體的特性使得開發者在進行評估以及維護程式時是更加困難的,在此提出的模型便是為了這種漸進式開發以及多重版本的軟體而設計的。在這種開發方式下的軟體,其開發方式可以分為不同的階段,用這種開發方式最能夠符合開發者在現實中的開發案例。在此用來檢驗我們提出模型的錯誤追蹤資料均是由數個最有名的開放原始碼軟體得來,最後的結果顯示出模型是否有反應錯誤回報的能力。 傳統的釋出最佳化問題是將測試資源對應到目標函式(可靠度或是成本),在限制式之下決定一個最佳解。這些方法將複數的選擇空間縮減成為單一目標的最佳化問題,雖然簡化了問題也降低了複雜度,但是不能確保得到的解同時將所有的目標最佳化。追求可靠度最大化以及成本最小化應該要同時考慮到,因此我們使用多重目標演化演算法來解決最佳化釋出問題。為了符合現實中的案例,我們將兩個最為重要的因素:測試成本和系統可靠度當作目標,測試時所耗費的資源當作第三個目標 。 基因演算法發展的歷史悠久,在解決多重目標方面有許多選擇,我們從眾多知名且實用的演算法中選用非優勢排序基因演算法-II當作主要的解決方法。然而,非優勢排序基因演算法-II並不能保證在所有情形下都可以得到最佳解。在此研究中我們提出這些特殊的情形以及我們改進的方式,進一步呈現完整的演算法和相關實驗。為了證明實驗的實用性符合現實需求,我們使用開放原始碼的錯誤資料來評估釋放時間,實驗的結果顯示出改善的方法比非優勢排序基因演算法-II還要好,我們也提供數值範例來說明他的實用性。

並列摘要


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.

參考文獻


[7] B. Beizer, Software Testing Techniques, Boston, International Thomson Computer Press, 1990.
[1] I. Samoladas, I. Stamelos, L. Angelis, and A. Oikonomou, “Open Source Software Development Should Strive for Even Greater Code Maintainability,” Communications of the ACM, Vol. 47, No. 10, pp. 83-87, Oct. 2004.
[5] D. E. Goldberg, Genetic Algorithms in Search of Optimization and Machine Learning, Addison-Wesley, Oct. 1989
[6] H. Ohtera and S. Yamada, “Optimal Allocation and Control Problems for Software-Testing Resource,” IEEE Trans. on Reliability, Vol. 39, No. 2, pp. 171-176, Jun. 1990.
[8] A. L. Goel and K. Okumoto, “Time-dependent Error-detection Rate Model for Software Reliability and Other Performance Measures,” IEEE Trans. on Reliability, Vol. 28, No. 3, pp. 206-211, Aug. 1979.

延伸閱讀