研究生: |
游宜憲 You, Yi-Sian |
---|---|
論文名稱: |
用於軟體除錯之修正相似係數頻譜式錯誤定位方法之分析 Analysis of Spectrum-Based Fault Localization Methods with Modified Similarity Coefficients for Software Debugging |
指導教授: |
黃慶育
Huang, Chin-Yu |
口試委員: |
蘇銓清
Sue, Chuan-Ching 林振緯 Lin, Jenn-Wei |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊系統與應用研究所 Institute of Information Systems and Applications |
論文出版年: | 2012 |
畢業學年度: | 100 |
語文別: | 英文 |
論文頁數: | 48 |
中文關鍵詞: | Fault Localization 、Similarity Coefficient 、Software Debugging |
外文關鍵詞: | 錯誤定位, 相似係數, 軟體除錯 |
相關次數: | 點閱:3 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在軟體錯誤定位技術的相關研究中,近年來以頻譜式(spectrum-based)的方法被最為廣泛地探討。這是因為其具有能自動分析、易於實行以及有效地定位出錯誤位置的特性。而大部分頻譜式的軟體錯誤定位技術主要仰賴於相似係數(similarity coefficients)的使用。然而,現存的相似係數並不能適當地反映出在軟體錯誤定位中,成功與失敗的測試案例間對於錯誤發生的位置所能提供的資訊量是不相等的。對使用於錯誤定位的相似係數而言,失敗的測試案例應該要有比成功的測試案例更大的影響力。
因此為了更精確地評估相似係數在計算成功與失敗的測試案例間的平衡,本研究針對幾種廣泛應用於軟體錯誤定位的相似係數,提出一套加入了權重機制的改良模型。並透過使用合併數種涵蓋標準(combination of multiple coverage types)的技術來實行以及評估我們所提出的改良相似係數模型在軟體錯誤定位上的表現。研究的結果指出:我們所提出的相似係數改良模型在軟體錯誤定位上,皆有較使用原方法更佳的效率,即使是在近來相關研究中表現最好的Ochiai係數也不例外,因此加入了權重的相似係數方法的確能更有效地定位軟體中的錯誤。
In the current researches of fault localization, the spectrum-based techniques are frequently and widely studied for researchers since it can automatically and effectively localize the faults of software and also can be implemented easily. Most of the spectrum-based fault localization techniques rely on using the similarity coefficients. However, the existing similarity coefficients for fault localization lack a measure to properly reflect the relation between the failing and passing test cases. The failing test cases are expected to provide more information to the similarity coefficients than the passing test cases.
In order to accurately evaluate the relative importance of failing and passing test cases in the similarity coefficients, several widely used similarity coefficients in fault localization are investigated in our study. The modified similarity coefficients which are assigned the weight of the failing/passing test cases are proposed and analyzed by using the multiple coverage-combined technique. The performance evaluation of our approach indicates that the proposed approach performs better than the original methods including the Ochiai coefficient, which has the best performance in current researches. Therefore, our study shows that assigning the weight of failing and passing test cases to the similarity coefficients can localize the faults more effectively.
[1] K. Tokuno, S. Yamada, "Relationship Between Software Availability Measurement and the Number of Restorations with Imperfect Debugging," Computers & Mathematics with Applications, Vol. 46, No. 7, pp. 1155–1163, October 2003.
[2] K. Cai, P. Cao, Z. Dong, K. Liu, "Mathematical Modeling of Software Reliability Testing with Imperfect Debugging," Computers & Mathematics with Applications, Vol. 59, No. 10, pp.3245–3285, May 2010.
[3] B. Hailpern and P. Santhanam. “Software Debugging, Testing, and Verification,” IBM Systems Journal, Vol. 41, No. 1, pp. 4–12, 2002.
[4] W. E. Wong and V. Debroy, "Software Fault Localization," IEEE Reliability Society 2009 Annual Technology Report, January 2010.
[5] M. Weiser. “Programmers Use Slices when Debugging,” Communications of the ACM, Vol. 25, No.7, pp. 446–452, July 1982.
[6] J. R. Lyle and M. Weiser, "Automatic Program Bug Location by Program Slicing," In Proceedings of the 2nd International Conference on Computer and Applications, pp. 877–883, Beijing, China, June 1987.
[7] L. Lian, S. Kusumoto, T. Kikuno, K. Matsumoto, K. Torii, "A New Fault Localizing Method for the Program Debugging Process," Information and Software Technology, Vol. 39, No. 4, pp. 271–284, April 1997.
[8] B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan, "Scalable Statistical Bug Isolation," In Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 15–26, Chicago, Illinois, USA, June 2005.
[9] C. Liu, L. Fei, X. Yan, J. Han, and S. P. Midkiff, "Statistical Debugging: A Hypothesis Testing-based Approach," IEEE Transactions on Software Engineering, Vol. 32, No 10, pp. 831–848, October 2006.
[10] A. Zeller and R. Hildebrandt, "Simplifying and Isolating Failure-Inducing Input," IEEE Transactions on Software Engineering, Vol. 28, No 2, pp. 183–200, February 2002.
[11] X. Zhang, N. Gupta, and R. Gupta, "Locating Faults through Automated Predicate Switching," In Proceedings of the 28th International Conference on Software Engineering, pp. 272–281, Shanghai, China, May 2006.
[12] W. E. Wong and Y. Qi, "BP Neural Network-based Effective Fault Localization," International Journal of Software Engineering and Knowledge Engineering, Vol. 19, No. 4, pp. 573–597, June 2009.
[13] R. Abreu, P. Zoeteweij, and A. J. C. van Gemund. “On the Accuracy of Spectrum-based Fault Localization,” In Proceedings of TAIC-PART ’07, pp. 89–98, September 2007.
[14] M. Y. Chen, E. Kiciman, E. Fratkin, A. Fox, and E. Brewer. “Pinpoint: Problem Determination in Large, Dynamic Internet Service,” In Proceedings of the 2002 International Conference on Dependable Systems and Networks, pp. 595–604, Washington, DC, USA, 2002. IEEE Computer Society.
[15] J. A. Jones and M. J. Harrold. “Empirical Evaluation of the Tarantula Automatic Fault-localization Technique,” In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, pp. 273–282, New York, NY, USA, 2005. ACM Press.
[16] J. A. Jones, M. J. Harrold, and J. Stasko. “Visualization of Test Information to Assist Fault Localization,” In Proceedings of the 24th International Conference on Software Engineering, pp. 467–477, Orlando, Florida, USA, May 2002.
[17] V. Dallmeier, C. Lindig, and A. Zeller, "Lightweight Defect Localization for Java," In Proceedings of the 19th European Conference on Object-Oriented Programming, pp. 528-550, Glasgow, UK, July 2005.
[18] A. da Silva Meyer, A. A. Franco Farcia, and A. Pereira de Souza. “Comparison of Similarity Coefficients Used for Cluster Analysis with Dominant Markers in Maize (Zea mays L),” Genetics and Molecular Biology, Vol.27, No. 1, pp. 83–91, 2004.
[19] R. Santelices, J.A. Jones, Yanbing Yu and M.J. Harrold. "Lightweight Fault-localization Using Multiple Coverage Types," In Proceedings of 31th International Conference on Software Engineering, pp. 56–66, Vancouver, BC, May 2009.
[20] Aviˇzienis, J.-C. Laprie, B. Randell, and C. E. Landwehr. “Basic Concepts and Taxonomy of Dependable and Secure Computing,” In Proceedings of IEEE Transactions on Dependable and Secure Computing., Vol. 1, No. 1, pp. 11–33, 2004.
[21] T. Reps, T. Ball, M. Das, and J. Larus. “The Use of Program Profiling for Software Maintenance with Applications to the Year 2000 Problem,” In Proceedings of ESEC'97, Vol. 1301 of LNCS, pp. 432–449. Springer–Verlag, 1997.
[22] M. J. Harrold, G. Rothermel, K. Sayre, R. Wu, L. Yi, "An Empirical Investigation of the Relationship between Spectra Differences and Regression Faults," Software Testing, Verification and Reliability, Vol. 10, No. 3, pp. 171–194, September 2000.
[23] R. Abreu, P. Zoeteweij, and A. J. C. van Gemund. “An Evaluation of Similarity Coefficients for Software Fault Localization,” In Proceedings of PRDC'06, pp. 39–46, Riverside, CA, USA, December 2006. IEEE Computer Society.
[24] Wes Masri, "Fault Localization based on Information Flow Coverage," Software Testing, Verification and Reliability, Vol. 20, No. 2, pp. 121–147, June 2010.
[25] W. E. Wong, V. Debroy and B. Choi. "A Family of Code Coverage Based Heuristics for Effective Fault Localization," Journal of Systems and Software, Vol. 83, No. 2, pp. 188–208, 2010.
[26] W. E. Wong, Yu Qi, Lei Zhao and K. Y. Cai. "Effective Fault Location Using Code Coverage," In Proceedings of the 31st IEEE Computer Software and Applications Conference, pp. 449–456, 2007.
[27] Bandyopadhyay A., Ghosh S. "Proximity Based Weighting of Test Cases to Improve Spectrum Based Fault Localization," Automated Software Engineering (ASE), 2011 26th IEEE/ACM International Conference, pp. 420–423, 2011.
[28] W. Masri,R. Abou-Assi, M. El-Ghali and N. Al-Fatairi. "An Empirical Study of the Factors that Reduce the Effectiveness of Coverage-based Fault Localization," In Proceedings of the 2nd International Workshop on Defects in Large Software Systems: Held in conjunction with ISSTA 2009, pp. 1–5, July 2009.
[29] H. Cleve and A. Zeller. “Locating Causes of Program Failures,” In Proceedings of the 27th International Conference on Software Engineering, pp. 342–351, May 2005.
[30] E. Renieris and S. Reiss. “Fault Localization with Nearest Neighbor Queries,” In Proceedings of International Conference on Automated Software Engineering, pp. 30–39, Oct. 2003.
[31] M. Hutchins, H. Foster, T. Goradia, and T. Ostrand. "Experiments of the Effectiveness of Dataflow- and Controlflow-based Test Adequacy Criteria," In Proceedings of the 16th International Conference on Software Engineering, IEEE Computer Society Press, pp. 191–200, 1994.
[32] “The Software-artifact Infrastructure Repository,” Available: http://sir.unl.edu/portal/, April, 2012.
[33] Bo Jianga, Z. Zhangb, W.K. Chan, T.H. Tse, T. Y. Chen, "How Well Does Test Case Prioritization Integrate with Statistical Fault Localization," Information and Software Technology, Vol. 54, No. 7, pp. 739–758, July 2012.
[34] S. Ali, J. H. Andrews, T. Dhandapani and W. Wang, “Evaluating the Accuracy of Fault Localization Techniques,” In Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, IEEE Computer Society, pp. 76–87 , 2009.
[35] M. Papadakis, N. Malevris, "Mutation Based Test Case Generation via a Path Selection Strategy," Information and Software Technology, Vol. 54, No. 9, pp. 915–932, September 2012.
[36] Renée C. Bryce, Charles J. Colbourn, "A Density-based Greedy Algorithm for Higher Strength Covering Arrays," Software Testing, Verification and Reliability, Vol. 19, No. 1, pp. 37–53, March 2009.
[37] P. J. Looges, S. Olariu, "Optimal Greedy Algorithms for Indifference Graphs," Computers & Mathematics with Applications, Vol. 25, No. 7, pp.15–25, April 1993.
[38] J.J. Grefenstette, “Optimization of Control Parameters for Genetic Algorithms,” In Proceedings of IEEE Transactions on Systems, Man and Cybernetics, Vol. 16, No. 1, pp.122–128, 1986.
[39] M.C. Cowgill, R.J. Harvey, "A Genetic Algorithm Approach to Cluster Analysis," Computers & Mathematics with Applications, Vol. 37, No. 7, pp. 99–108, April 1999.