跳到主要內容

臺灣博碩士論文加值系統

(44.192.92.49) 您好!臺灣時間:2023/06/10 12:34
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:林孟滄
研究生(外文):Meng-tsang Lin
論文名稱:多型引發的資料參考異常現象之研究
論文名稱(外文):A Study on Anomalies Reference Derived by Polymorphism in Object Oriented Programming
指導教授:林金城林金城引用關係
指導教授(外文):Jin-Cherng Lin
學位類別:碩士
校院名稱:大同大學
系所名稱:資訊工程學系(所)
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2008
畢業學年度:96
語文別:中文
論文頁數:54
中文關鍵詞:定義-使用測試yo-yo路徑多型資料流異常封裝繼承
外文關鍵詞:def-use testingyo-yo pathpolymorphismdata flow anomaliesencapsulationinheritance
相關次數:
  • 被引用被引用:0
  • 點閱點閱:96
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
傳統上軟體測試的方法可以分為兩大類:單元測試和整合測試兩種。前者測試單一模組,主要是覆蓋測試的採用方式及覆蓋比率,在美國之軟體開發一般要求要使用分支測試(branch testing),覆蓋率百分比則視各行業別而有不同 。整合測試就是模組間互動測試,也就是探討模組間耦合之關係。
近 30年來軟體界極力倡導程式之結構化、標準化及模組化,程式開發之困難度已由原先單一功能之實現,轉為模組化協力完成;尤其是物件導向所提供繼承及多型的特性,使得軟體的重複使用(reuse)及軟體IC得以落實,軟體測試的困難已由單一模組的覆蓋率轉為模組間相互作法所引發之異常。
大部分有關測試的研究或是理論所解決都是單一現象,甚至做某些限制性的假設,因此才能化繁為簡得以產生公式或決論;如此作法雖有其立足點,但難免有以偏蓋全之憾。在本文的研究中我們將從測試的觀點出發,探討繼承及多型所引發之缺陷,並探討這些隱藏缺陷可能所引發之程式異常,並提出解決這些缺陷之建議。
Software testing has been classified into two major categories: “Unit Test” and “Integration Test”. The former prescribes software testing of single module, using ‘coverage of testing’ with various ratios of coverage. “Branch Testing” has been widely used in software testing in the States where percentage of coverage varies in accordance with different industries. “Integration Test”, on the other hand, aims at testing the interactions among modules.

In the past thirty years or so, software industry has cultivated structured method, standardization, and modulezation in software development. From the mere and simple realization of single function programming, software development has evolved to achieving integration of modules. The power that inheritance and polymorphism brings to the expressiveness of objective oriented software development also brings a number of new anomalies and fault types.

Whilst most researches and theories on software testing present solutions for single phenomena; or presuppose certain hypothesis and simplify the testing process to reach a formula or conclusion. This approach certainly has its point, but it risks losing the whole picture. This paper describes various fault types brought by inheritance and polymorphism, and the anomalies in software programs derived from these faults. This paper also prescribes suggestions to resolve these anomalies.
中文摘要 II
Abstarct III
致謝 IV
目 錄 V
圖目錄 VII
表目錄 VIII
第一章 Introduction and Overview 1
1.1 Define/Use Testing 3
1.2 Yo-Yo Path 5
1.3 存取權限(Access control) 7
1.4 研究範圍與限制 8
1.5 論文架構 9
第二章 Background and Related Work 10
2.1 Class Mutation的分類方式 10
2.2 Inheritance Faults and Anomalies的分類方式 12
2.2.1 Categories of Inheritance Faults and Anomalies 13
2.2.1.1 ITU(Inconsistent Type Use) 14
2.2.1.2 SDA(State Definition Anomaly) 16
2.2.1.3 SDIH(State Definition Inconsistency due to state variable Hiding) 16
2.2.1.4 SDI(State Defined Incorrectly) 17
2.2.1.5 IISD(Indirect Inconsistent State Definition) 18
2.2.1.6 ACB(Anomalous Construction Behavior) 18
2.2.1.7 IC(Incomplete Construction) 19
2.2.1.8 SVA(State Visibility Anomaly) 19
2.2.2 Syntactic Patterns of Inheritance 20
2.2.3 Syntactic Patterns of Inheritance Faults and Anomalies 22
第三章 驗證及解說 24
3.1 Inconsistent Type Use (ITU)引發的問題 24
3.2 Object 當 Parameter 使用引發的問題 25
3.3 State Definition Inconsistency (due to state variable Hiding) (SHIH) 引發的問題 26
3.4 Anomalous Construction Behavior (ACB) 引發的問題 27
3.5 ACB、IC、SVA 不屬於多型引發的錯誤 29
3.6 介紹ROC Model 及 method access variable 的限制及順序 30
第四章 Conclusion Remark 36
4.1 Summary 36
4.2 Contribution 37
4.3 Future Work 37
References 38
附錄A 縮寫代碼及全名對照表 43
[Alexander2000] Alexander, R. T. and Jefferson Offutt, “Criteria for Testing Polymorphic Relationships”, 11th International Symposium on Software Reliability Engineering (ISSRE ’00), pages 15-23, San Jose, California, October 2000.
[Alexander2001] Alexander, R. T. (2001). “Testing the Polymorphic Relationships of Object-Oriented Programs”, Ph.D. Dissertation, George Mason University.
[Alexander2002] Alexander, R. T., Jefferson Offutt, and J. Bieman, “Syntactic Fault Patterns in Objective-Oriented Programs”, In Proceedings of Eighth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS '02), Greenbelt, Maryland, December 2002.
[Alexander2003] Alexander R. T. and Jefferson Offutt. “Testing Polymorphic Relationships” [DB/OL], Colorado State University. 2003(09): 1-32.(http://www.cs.colostate.edu/∼rta/publications/cboot.pdf.)
[Alexander2004] Alexander, R. T. and Jefferson Offutt, “Coupling-based Testing of Objective-Oriented Programs”, Journal of Universal Computer Science 10 (4) (2004) 391-427.
[Ammann2008] Ammann Paul and Jefferson Offutt, “Introduction to Software Testing”, Cambridge University Press, Cambridge, UK, ISBN 0-52188-038-1, 2008.
[Binder1996] Binder Robert V. “Testing Object-Oriented Software:A Survey”, Journal of Software Testing, Verification & Reliability, 6(3/4):125–252, 1996.
[Booch1994] Booch G., “Object-Oriented Analysis and Design with Applications”, Redwood City, California, Benjamin Cummings, 1994
[Chevalley2001] Chevalley Philippe, “Applying Mutation Analysis for Object-Oriented Programs Using A Reflective Approach”, APSEC 2001, December. 2001.
[Eckel_C++2000] Eckel Bruce, "Thinking in C++" 2nd Edition Volume 1 , MindView, Inc, 2000
[Eckel_Java2000] Eckel Bruce, "Thinking in Java" 2nd Edition Release 11, Prentice-Hall, 2000
[Frankl1988] Frankl P. G. and Weyuker E. J., “An Applicable Family of Data flow Testing Criteria,” IEEE Transactions on Software Engineering, Volume 14, Issue 10, Pages 1483 –1498, October 1988.
[Kim1999] Kim Sun-Woo, John A. Clark, and John A. McDermid, “Assessing Test Set Adequacy for Object-Oriented Programs Using Class Mutation”, 28 JAIIO: Symposium on Software Technology (SoST`99), September, 1999.
[Kim2000] Kim Sun-Woo, John A.Clark, and John McDermid. “Class Mutation: Mutation Testing For Object-Oriented Programs”, OOSS: Object-Oriented Software Systems, October, 2000.
[Liskov1994] Liskov B. H. and J. M. Wing. “A Behavioral Notion Of Subtyping”. ACM Transaction Programming Language and Systems, 16(1):1811–1841, November 1994.
[Liu2005] Chang Liu, “Teaching Data Flow Testing in a Software Engineering Course”, http://www.testingeducation.org/conference/wtst4/ChangLiu2005-WTST4-data-flow-testing-full-paper.pdf(2008/03/20 find)
[Marick1999] Marick Brian, “New Models for Test Development”, Quality Week 1999.
[Myers2004] Myers Grenford J., “The Art of Software Testing”, 2nd Edition ISBN: 978-0-471-46912-4 Wiley
[New2006] New Mark, “Data Flow Testing”, University of Wales Swansea, December, 2006 (http://www.cs.swan.ac.uk/~csmarkus/CS339/presentations/20061202_New_Data_Flow_Testing.pdf)
[Offutt1993] Offutt Jefferson, M. J. Harrold, and P. Kolte. “A software Metric System For Module Coupling”, The Journal of Systems and Software, 20(3):295-308, March, 1993
[Offutt2001] Offutt Jefferson, Roger Alexander,Ye Wu, Quansheng Xiao, and Chuck Hutchinson. “A Fault Model For Subtype Inheritance and Polymorphism”, In Proceedings of the 12th. International Symposium on Software Reliability Engineering, pages 84–93, Hong Kong, China, November 2001. IEEE Computer Society Press.
[Rapps 1985] Rapps Sandra and Elaine J. Weyuker “Selecting Software Test Data Using Data Flow Information” IEEE Transaction Software Engineering, Vol. SE-I I , no. 4, pp. 367-375, April, 1985.
[Rogers2001] Rogers William Paul, “Reveal the Magic Behind Subtype Polymorphism”http://www.javaworld.com/javaworld/jw-04-2001/jw-0413-polymorph_p.html, April 2001
[Schach1999] Schach S. R., “Classical and Object-Oriented Software Engineering with UML and JAVA”, pp.3-29 and pp.134-170. (Chapter 1 and 5) , McGraw Hill Company, Singapore, 1999.
[Wegener2001] Wegener Joachim,“Overview of Evolutionary Testing,”IEEE Seminal Workshop, 14 May 2001.
[Whittaker2000] Whittaker James A., “What Is Software Testing? And Why Is It So Hard?”IEEE SOFTWARE January/February, 2000.
[Zhu1997] Zhu Hong, Patrick A. V. Hall, and John H. R. May, “Software Unit Test Coverage and Adequacy,” ACM Computing Surveys (CSUR), Volume 29, Issue 4, December 1997.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top