Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 電子工程學研究所
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/37839
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor王凡(Farn Wang)
dc.contributor.authorYa-Lan Yangen
dc.contributor.author楊雅蘭zh_TW
dc.date.accessioned2021-06-13T15:46:39Z-
dc.date.available2011-08-15
dc.date.copyright2011-08-15
dc.date.issued2011
dc.date.submitted2011-08-10
dc.identifier.citation[1] Chhabi Rani Panigrahi, Rajib Mall, Model-Based Regression Test Case Prioritization, S.K. Prasad et al. (Eds.): ICISTM 2010, CCIS 54, pp. 380–385, 2010. Springer-Verlag Berlin Heidelberg ,2010
[3] Fevzi Belli, Mubariz Eminov, and Nida Gokce, Model-Based Test Prioritizing – A Comparative Soft-Computing Approach and Case Studies, Springer-Verlag Berlin Heidelberg 2009
[4] Yu-Shen Su, Chin-Yu Huang, Neural-network-based approaches for software reliability estimation using dynamic weighted combinational models, The Journal of Systems and Software 80, 2007
[5] Yih-Farn Chen, David S. Rosenblum, Kiem-Phong Vo, TestTube: A System for Selective Regression Testing, Research Paper. IEEE 1994
[6] Sebastian Elbaum, Alexey G. Malishevsky, Gregg Rothermel. Prioritizing Test Cases for Regression Testing. ISSTA 2000
[7] Gregg Rothermel, Roland H. Untch, Chengyun Chu, Mary Jean Harrold, Prioritizing Test Cases for Regression Testing. IEEE Transactions on Software Engineering, VOL. 27, NO. 10, OCTOBER 2001
[8] Praveen Ranjan Srivastava, TEST CASE PRIORITIZATION, Journal of Theoretical and Applied Information Technology, 2005 – 2008
[9] Gregg Rothermel, Mary Jean Harrold, Analyzing Regression Test Selection Techniques, IEEE Transactions on Software Engineering, VOL. 22, NO. 8, AUGUST 1996
[10] Emelie Engstrom, Per Runeson *, Mats Skoglund,A systematic review on regression test selection techniques. Information and Software Technology 52, 2010
[11] Todd L. Graves, Mary Jean Harrold, Jung-Min Kim,Adam Porter, Gregg Rothermel. An Empirical Study of Regression Test Selection Techniques.ACM,2001
[12] S. Yoo, M. Harman. Regression Testing Minimization, Selection and Prioritization : A Survey. Journal of Software Testing Verification, and Reliability, 2007
[13] Rajiv Gupta, Mary Jean Harrold, Mary Lou Soffa. An Approach to Regression Testing using Slicing, IEEE, In Proceedings of the Conference on Software Maintenance (ICSM), 1992
[14] Istvan Forgacs, Akos Hajnal and Eva Takacs. Regression Slicing and Its use in Regression Testing. Computer Software and Applications Conference, 1998. COMPSAC '98. Proceedings.
[15] Jiang Zheng, In Regression Testing Selection When Source Code is Not Available, ASE, November 7-11, 2005
[16] Korel B, Tahat L, Vaysburg B. Model based regression test reduction using de-pendence analysis. Proceedings of the IEEE International Conference on Software Maintenance (ICSM), IEEE Computer Society, 2002
[17] Chen Yanping, Probert Robert L, Ural Hasan Regression test suite reduction using extended depen-dence analysis. Proceedings of the 4th International Workshop on Software Quality. Assurance (SOQUA 2007), ACM Press, 2007
[18] Papadimitriou Christos H, Steiglitz Kenneth. Combinatorial Optimization. Courier Dover Pub-lications, 1998.
[19] Wong W. Eric, Horgan Joseph R, Mathur Aditya P, Pasquini Alberto. Test set size minimization and fault detection ectiveness: A case study in a space application. The Journal of Systems and Software October 1999
[20] Yu Yanbing, Jones JamesA, Harrold Mary Jean. An empirical study of the e_ects of test-suite reduction on fault localization. Proceedings of the International Conference on Software Engineering (ICSE 2008), ACM Press, 2008
[21] Gregg Rothermel, Mary Jean Harrold. A framework for evaluating regression test selection techniques. Proceedings of the 16th International Conference on Software Engineering (ICSE 1994), IEEE Computer Society Press, 1994
[22] Whitney, A.W. A direct method of nonparametric meaturement selection. IEEE Trans. Comput. 20, 1971
[23] J. J. HOPFIELD Neural networks and physical systems with emergent collective computational abilities. Proc. NatL Acad. Sci. USA Vol. 79, pp. 2554-2558, April 1982 Biophysics
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/37839-
dc.description.abstract軟體測試,是用來促進鑑定軟體的正確性、完整性、和品質的過程。而回歸測試是軟體測試的一環,在軟體維護階段,為了檢測程式有無經修改而引入新的錯誤,以及檢查之前能運作的功能, 是否仍能正確無誤地被執行所進行的測試。回歸測試是軟體維護階段的很重要的一部份。
在回歸測試中,一個很重要的困難是,測試者無法得知程式經由修改後,會引發哪些其他部分發生問題。關於這個部分,本篇論文提出了由學習為基礎的方法來解決。在本篇論文中,我們使用利用類神經網路為基礎之架構,來建立學習機制,藉此來動態地排序測試用例的執行修先權。首先我們在原始程式中加入了InTOL,它是一個智型測試判別器,可幫助我們輸出程式片段中我們想要的資訊,我們用InTOL來收集測試範例的行為軌跡;接著,我們把修改後的程式與原始程式做比對,找出對程式中有影響的片段,然後我們把這些片段跟測試用例的行為軌跡做對照,找出可能會影響測試用例執行的程式片段中的特別的事件,以此為特徵值;而後,執行所有的測試範例,把執行結果當作優先權選擇的判斷,最後,使用FANN來模擬出一個簡單的類神經網路,把我們抓出可能會影響測試用例執行結果的特徵值,當作類神經網路的輸入節點,而測試用例的執行結果當作輸出節點,在學習階段時,同時給類神經網路輸入與輸出的資訊,讓它自己學習出一套代表輸入與輸出關係的數學函式,接著,進入測試階段,給予類神經網路輸入的資訊,讓它以學習好的網路,自動預測出輸出結果。我們把最後的輸出結果當作測試用例的修先權選擇的數值。
我們使用的實驗程式為SIR程式,它是目前很有公信力的測試程式,我們由中間選擇了兩個來做實驗,發現在我們的實驗架構下,找到修先執行的測試用例,確實具備有良好的偵錯能力,在實驗結果中,我們跟其他做回歸測試的數種方法做比較,發現我們的表現也比其他技術更為優異,也能大大縮短測試的時間。我們的未來研究的目標,是除了能測試程式的正確性,也能找出錯誤的精確位置。
zh_TW
dc.description.abstractSoftware testing is an investigation conducted to provide programmers with information about the quality of the product or service under test. There are many different methods for software testing, but we only find the bugs and defects as possible as we can rather than ensuring the software is absolutely correct. Regression testing is a type of software testing, which is retesting modified software to ensure that changes are correct and do not adversely affect other parts of the software. It is commonly observed that a software fix could cause other bugs and all this affects the quality and reliability of the system. Hence, regression testing is necessary and plays an important role in any Scenario where a change has been made to a previously tested software code.
One of the main difficulties for regression testing is that it's often extremely hard for a programmer to figure out how a change in one part of the software will echo in other parts of the software. Owing to the reason, we develop a learning-based method to solve the problem. In our thesis, we describe a new framework with neural-network learning for dynamically prioritizing the test cases. First we add the Intelligent Test Oracle Library (InTOL) in accordance with our requirements to the original program and it will generate the test traces. And when getting a modified version, we slice the original and modified programs. Then we relate the slicing information with the test traces we collect in advance. Second, we get the execution results of test case through the modified program as the test case prioritization. Finally, we use Fast Artificial Neural Network (FANN), a free open source library and which can be used from C and C++, to build a model of the human brain's own neural-network. Then, utilize NN training the relations of features from the traces and slicing for test cases prioritization.
We experiment with two benchmarks which are the Software-artifact Infrastructure Repository (SIR) programs to check the performance of our techniques. Our experiment data shows that the test cases we select has good fault-detection ability. In the future work, we want to find the location of the fault and try to fix it.
en
dc.description.provenanceMade available in DSpace on 2021-06-13T15:46:39Z (GMT). No. of bitstreams: 1
ntu-100-R98943144-1.pdf: 1966086 bytes, checksum: a9b11d55220fed7948132d2c8f3b82ab (MD5)
Previous issue date: 2011
en
dc.description.tableofcontents口試委員會審定書 i
誌謝 iii
ABSTRACT v
中文摘要 vii
CONTENTS ix
LIST OF FIGURES xiii
Chapter 1 Introduction 1
1.1 Motivation 1
1.2 Purpose 1
1.3 Organization 2
Chapter 2 Related Works and Background 3
2.1 Related Works 3
2.2 Background 5
2.2.1 Program Slicing 5
2.2.2 Machine-learning 6
2.2.3 Neural Network 6
2.2.3.1 Artificial Neural Network 7
2.2.4 Back-propagation 8
Chapter 3 Framework 13
3.1 Data Pre-procedure Handling for Test Traces Collection 14
3.1.1 Data Pre-procedure Handling 14
3.2 Slicing and Feature Extraction 15
3.2.1 Slicing Techniques 15
3.2.2 Feature Extraction 16
3.2.3 Feature Selection 16
3.3 Neural Network for Test Case Prioritization 17
3.3.1 Neural Network for Test Case Prioritization 17
Chapter 4 Implementation 19
4.1 Test Script Generation 19
4.1.1 Running the MakeTestScript (MTS) Tool 20
4.2 Test Traces Generation and Collection 22
4.2.1 Intelligent Test Oracle Library (InTOL) 23
4.2.2 Use InTOL APIs to Set Events in the Programs 23
4.2.3 The Strategy of Inserting the Events of InTOL 25
4.3 Slicing Techniques 25
4.3.1 The Slicing Tool, Frama-C 25
4.4 Feature Extraction and Test Case Prioritization 26
4.4.1 Feature Extraction 26
4.4.2 Feature Selection 26
4.4.2.1 Sequential Forward Selection (SFS) 26
4.4.3 Test Case Prioritization 27
4.5 Build the Neural Network Model 31
4.5.1 Fast Artificial Neural Network Library (FANN) 31
4.5.1.1 FANN Creation / Execution 32
4.5.1.2 Fann_create_standard 32
4.5.1.3 Training (Learning) phase 33
4.5.1.4 Simple Training Example 33
4.5.1.5 The Training Data Example 34
4.5.1.6 Execution (Testing) phase 35
4.5.1.7 Simple Testing Example 35
Chapter 5 Experiment 37
5.1 Benchmarks 37
5.2 Benchmarks - grep 37
5.2.1 Neural Network Accuracy of Training and Testing 38
5.2.2 The Ratio of Bug Found in Executing n Test Cases 38
5.3 Benchmarks - tcas 41
5.3.1 Neural Network Accuracy of Training and Testing 42
5.3.2 The Ratio of Bug Found in Executing n Test Cases 42
Chapter 6 Conclusion and Future Work 45
6.1 Conclusion 45
6.2 Future Work 45
REFERENCE 47
dc.language.isoen
dc.subject類神經網路zh_TW
dc.subject回歸測試zh_TW
dc.subject程式片段zh_TW
dc.subject測試用例優先 權zh_TW
dc.subject軟體測試zh_TW
dc.subjectInTOLen
dc.subjectregression testingen
dc.subjectsoftware testingen
dc.subjectneural networken
dc.subjectprogram slicingen
dc.subjecttest case prioritizationen
dc.title利用類神經網路與程式片段技術之回歸測試zh_TW
dc.titleRegression testing based on neural networks and program slicing techniquesen
dc.typeThesis
dc.date.schoolyear99-2
dc.description.degree碩士
dc.contributor.oralexamcommittee顏嗣鈞(Hsu-Chun Yen),雷欽隆(Chin-Laung Lei),陳志宏(Jyh-Horng Chen),張茂榮(Mao-Long Chang),顏嘉志(Chia-Chih Yen)
dc.subject.keyword軟體測試,回歸測試,程式片段,測試用例優先 權,類神經網路,zh_TW
dc.subject.keywordregression testing,software testing,neural network,program slicing,test case prioritization,InTOL,en
dc.relation.page49
dc.rights.note有償授權
dc.date.accepted2011-08-10
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept電子工程學研究所zh_TW
顯示於系所單位:電子工程學研究所

文件中的檔案:
檔案 大小格式 
ntu-100-1.pdf
  未授權公開取用
1.92 MBAdobe PDF
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved