請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/53799
完整後設資料紀錄
DC 欄位 | 值 | 語言 |
---|---|---|
dc.contributor.advisor | 王凡 | |
dc.contributor.author | Ming-En Hsu | en |
dc.contributor.author | 許明恩 | zh_TW |
dc.date.accessioned | 2021-06-16T02:30:00Z | - |
dc.date.available | 2015-08-10 | |
dc.date.copyright | 2015-08-10 | |
dc.date.issued | 2015 | |
dc.date.submitted | 2015-07-31 | |
dc.identifier.citation | [1] Agrawal, Rakesh, and Ramakrishnan Srikant. 'Mining sequential patterns.' Data Engineering, 1995. Proceedings of the Eleventh International Conference on. IEEE, 1995.
[2] Antunes, Claudia M., and Arlindo L. Oliveira. 'Temporal data mining: An overview.' KDD workshop on temporal data mining. 2001. [3] Lo, David, Siau-Cheng Khoo, and Chao Liu. 'Efficient mining of recurrent rules from a sequence database.' Database Systems for Advanced Applications. Springer Berlin Heidelberg, 2008. [4] Pnueli, Amir. 'The temporal logic of programs.' Foundations of Computer Science, 1977., 18th Annual Symposium on. IEEE, 1977. [5] Havelund, Klaus, Grigore Rosu, and Peter Norvig. 'Testing linear temporal logic formulae on finite execution traces.' (2001). [6] Kamp, Hans. 'Tense logic and the theory of linear order.' (1968). [7] Memon, Atif, Ishan Banerjee, and Adithya Nagarajan. 'GUI ripping: Reverse engineering of graphical user interfaces for testing.' 2013 20th Working Conference on Reverse Engineering (WCRE). IEEE Computer Society, 2003. [8] J Strejcek. Linear Temporal Logic: Expressiveness and Model Checking. PhD thesis, Faculty of Informatics, Masaryk University, Brno, Czech Republic, 2004. [9] Amalfitano, Domenico, et al. 'MobiGUITAR--A Tool for Automated Model- Based Testing of Mobile Apps.' (2014): 1-1. [10] “Monkey”, http://developer.android.com/tools/help/monkey.html. [11] MacHiry, Aravind, Rohan Tahiliani, and Mayur Naik. 'Dynodroid: An input generation system for android apps.' Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering. ACM,2013. [12] Amalfitano, Domenico, et al. 'Using GUI ripping for automated testing of Android applications.' Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. ACM, 2012. [13] “TEMA”, http://tema.cs.tut.fi/index.html [14] Takala, Tommi, Mika Katara, and Julian Harty. 'Experiences of system-level 55 model-based GUI testing of an Android application.' Software Testing, Verification and Validation (ICST), 2011 IEEE Fourth International Conference on. IEEE, 2011. [15] Choi, Wontae, George Necula, and Koushik Sen. 'Guided gui testing of android apps with minimal restart and approximate learning.' ACM SIGPLAN Notices. Vol. 48. No. 10. ACM, 2013. [16] Ammons, Glenn, Rastislav Bodik, and James R. Larus. 'Mining specifications.' ACM Sigplan Notices 37.1 (2002): 4-16. [17] Pei, Jian, et al. 'Prefixspan: Mining sequential patterns efficiently by prefix- projected pattern growth.' 2013 IEEE 29th International Conference on Data Engineering (ICDE). IEEE Computer Society, 2001. [18] Wang, Jianyong, and Jiawei Han. 'BIDE: Efficient mining of frequent closed sequences.' Data Engineering, 2004. Proceedings. 20th International Conference on. IEEE, 2004. [19] Yan, Xifeng, Jiawei Han, and Ramin Afshar. 'CloSpan: Mining closed sequential patterns in large datasets.' In SDM. 2003. [20] Dallmeier, Valentin, et al. 'Generating test cases for specification mining.' Proceedings of the 19th international symposium on Software testing and analysis. ACM, 2010. [21] Lorenzoli, Davide, Leonardo Mariani, and Mauro Pezze. 'Automatic generation of software behavioral models.' Proceedings of the 30th international conference on Software engineering. ACM, 2008. [22] Yang, Jinlin, et al. 'Perracotta: mining temporal API rules from imperfect traces.' Proceedings of the 28th international conference on Software engineering. ACM, 2006. [23] Kochhar, Pavneet Singh, et al. 'Understanding the Test Automation Culture of App Developers.' Software Testing, Verification and Validation (ICST), 2015 IEEE 8th International Conference on. IEEE, 2015. [24] Glerum, Kirk, et al. 'Debugging in the (very) large: ten years of implementation and experience.' Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles. ACM, 2009. [25] Wang, Farn, et al. 'Temporal Specification Mining for Anomaly Analysis.' Programming Languages and Systems. Springer International Publishing, 2013. 273- 289 56 [26] W. H. Chiang, “Experiment of a framework for automated testing of Android Applications.”, master thesis, Electrical Engineering Department, National Taiwan University, TW 2015. [27] Ernst, Michael D., et al. 'Dynamically discovering likely program invariants to support program evolution.' Software Engineering, IEEE Transactions on 27.2 (2001): 99-123. [28] Domenico Amalfitano, Anna Rita Fasolino, and Porfirio Tramontana, 'A GUI Crawling-based technique for Android Mobile Application Testing,' in Proc. of the Fourth IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW), March 2011, pp. 252-261. [29] Amalfitano, D., Fasolino, A. R., Tramontana, P., De Carmine, S., & Imparato, G. (2012, September). A toolset for GUI testing of Android applications. In Software Maintenance (ICSM), 2012 28th IEEE International Conference on (pp. 650-653). IEEE. [30] Cuixiong Hu and Iulian Neamtiu, 'Automating GUI Testing for Android Applications,' in Proc. of the 6th International Workshop on Automation of Software Test, May 2011, pp. 77-83. [31] C. C. Li, “Mining Temporal Rules for Diagnosis”, master thesis, Electrical Engineering Department, National Taiwan University, TW 2012. [32] C. C. Chang, “Temporal Rules Mining from Android Application Traces for Anomaly Analysis”, master thesis, Graduate Institute of Electronic Engineering, National Taiwan University, TW 2013. [33] Li, Y., Ning, P., Wang, X. S., & Jajodia, S. (2003). Discovering calendar-based temporal association rules. Data & Knowledge Engineering, 44(2), 193-218. [34] Matthews, S. G., Gongora, M. A., & Hopgood, A. A. (2011). Evolving temporal association rules with genetic algorithms. In Research and Development in Intelligent Systems XXVII (pp. 107-120). Springer London. [28] [35] Strategy Analytics: Global Smartphone Users Reach 2 Billion in 2014, http://www.prnewswire.com/news-releases/strategy-analytics-global-smartphone- users-reach-2-billion-in-2014-300041752.html [36] Agrawal, R., Imielin ́ski, T. and Swami, A. (1993) Mining association rules between sets of items in large databases. In: Proceedings of ACM SIGMOD international conference on Management of data, Washington, DC, USA, pp. 206– 217. 57 [37] Wang, W., Yang, J., & Muntz, R. (2001). TAR: Temporal association rules on evolving numerical attributes. In Data Engineering, 2001. Proceedings. 17th International Conference on (pp. 283-292). IEEE. [38] Gharib, T. F., Nassar, H., Taha, M., & Abraham, A. (2010). An efficient algorithm for incremental mining of temporal association rules. Data & Knowledge Engineering, 69(8), 800-815. [39] Lee, C. H., Chen, M. S., & Lin, C. R. (2003). Progressive partition miner: an efficient algorithm for mining general temporal association rules. Knowledge and Data Engineering, IEEE Transactions on, 15(4), 1004-1017. [40] Schroter, A., Bettenburg, N., & Premraj, R. (2010, May). Do stack traces help developers fix bugs?. In Mining Software Repositories (MSR), 2010 7th IEEE Working Conference on (pp. 118-121). IEEE. [41] Dang, Y., Wu, R., Zhang, H., Zhang, D., & Nobel, P. (2012, June). ReBucket: a method for clustering duplicate crash reports based on call stack similarity. InProceedings of the 34th International Conference on Software Engineering (pp. 1084-1093). IEEE Press. [42] UIAutomator, http://developer.android.com/tools/testing-support- library/index.html#uia-viewer [43] Pravin, A., & Srinivasan, S. (2013). Effective Test Case Selection and Prioritization in Regression Testing. Journal of Computer Science, 9(5), 654. [44] Grindal, M., Lindstrom, B., Offutt, J., & Andler, S. F. (2006). An evaluation of combination strategies for test case selection. Empirical Software Engineering, 11(4), 583-611. [45] Yoo, S., & Harman, M. (2012). Regression testing minimization, selection and prioritization: a survey. Software Testing, Verification and Reliability, 22(2), 67-120. [46] Wang, F., Wu, J. H., Huang, C. H., Chang, C. C., & Li, C. C. (2013). Temporal Specification Mining for Anomaly Analysis. In Programming Languages and Systems (pp. 273-289). Springer International Publishing. | |
dc.identifier.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/53799 | - |
dc.description.abstract | Android 佔有行動裝置作業系統 80% 的市場。然而,多數的 Android Apps 經常在未經過完整測試的情況下就先公開上架,供使用者下載。造成這 個情況的主要原因有兩個:第一,測試工程師普遍使用手動測試;第二,因為 產品更新的週期縮短,使得測試工程師沒有最新的待測程式規格書。因此,自 動化的黑箱測試技術需求逐年成長。目前既有的自動化測試案例產生工具例如 Monkey 是在畫面上的座標層級亂點。這樣的工具所產生的測試案例多數不會 導致待測物故障,因此開發者用這些工具來除錯效率非常低。反而多數的開發 者寧願選擇手動測試,而非自動測試。
我將在這篇論文中介紹 Android 錯誤類型抽取查詢庫,用來提升測試案例 中真正導致待測物故障的比例。有別於以往必須手動撰寫測試案例,這個查 詢庫接收來自以 Monkey 隨機點擊待測物的路徑 (traces),並將失敗的路徑 依錯誤類型分類。依照不同類型的錯誤進行分析搭配資料探勘、數據分析方 法,找出待測物在執行時的錯誤特徵。最後,提供使用者可導致應用程式 故障的測試案例。測試者透過 Monkey 這樣的自動化測試工具以及這篇論 文內所介紹的演算法及查詢庫,能大幅提升以測試案例幫助除錯的效率。 讓測試者不需要再自行撰寫測試案例,就能進行精準的黑箱測試。最後, 我將這一套查詢庫用在 3 個不同的 Android App 上做實驗,並提出實驗報告。 | zh_TW |
dc.description.abstract | Android dominated the mobile operating system market with a 80% share. However, most of Android apps are not adequately tested [23] before they are released for public use. There are two paradigm shifts making present testing works are more complicated than before. First, test engineer have to deal with system under test (SUT) without source code. Second, test engineer have to test SUT without up-to-date documentation. Therefore, there is a growing need for automated testing techniques aimed at Android apps.
In this thesis, we introduce an Android Bug Pattern Extraction Library. This library can cluster fail traces by different types of crash, mine association temporal rules that is the most likely one lead to crash and generating test cases by the rules. We provide a service, which make developer find existing bugs in the Apps. By this analysis library, developers can automate their testing process to reduce costs of money and time. | en |
dc.description.provenance | Made available in DSpace on 2021-06-16T02:30:00Z (GMT). No. of bitstreams: 1 ntu-104-R01943154-1.pdf: 2863396 bytes, checksum: 60088859aad4eea82f0a3b16c817f95b (MD5) Previous issue date: 2015 | en |
dc.description.tableofcontents | 中文摘要 2
Abstract 3 CONTENTS 4 LIST OF FIGURES 6 LIST OF TABLES 7 Chapter 1 Introduction 8 1.1 Background 8 1.2 Purpose 9 1.3 Organization 10 Chapter 2 Related Work 11 2.1 Test Case Generation 11 2.2 Temporal Association Rule Mining 12 2.3 Test Case Selection 15 Chapter 3 Preliminary 16 3.1 Trace 16 3.2 Crash Call stack 20 3.3 Association Rule Mining 23 3.4 Linear-time Temporal Logic (LTL) 25 3.5 Genetic Algorithm 27 3.6 Dijkstras Algorithm 28 3.7 Screen Abstraction 29 Chapter 4 Android Bug Pattern Extraction Library 32 4.1 Framework 32 4.2 Trace Clustering 34 Trace Loader 34 Clustering 35 4.3 Temporal Association Rule Mining 36 Rule Miner 36 Rule Filter 39 Weight Learning 40 4.4 Test Case Generation 42 Dijkstra’s Algorithm 42 Test Report Generator 42 Chapter 5 Implementation 43 Chapter 6 Experiment 45 Benchmarks 45 Performance Evaluation 46 Chapter 7 Conclusions and Future Works 54 REFERENCE 55 | |
dc.language.iso | en | |
dc.title | Android 錯誤特徵抽取查詢庫 | zh_TW |
dc.title | Android Bug Pattern Extraction Library | en |
dc.type | Thesis | |
dc.date.schoolyear | 103-2 | |
dc.description.degree | 碩士 | |
dc.contributor.oralexamcommittee | 王柏堯,郭大維,陳郁方,戴顯權 | |
dc.subject.keyword | 測試案例選擇,測試案例生成,規格探勘, | zh_TW |
dc.subject.keyword | Test case selection,Test case generation,Specification mining, | en |
dc.relation.page | 58 | |
dc.rights.note | 有償授權 | |
dc.date.accepted | 2015-07-31 | |
dc.contributor.author-college | 電機資訊學院 | zh_TW |
dc.contributor.author-dept | 電子工程學研究所 | zh_TW |
顯示於系所單位: | 電子工程學研究所 |
文件中的檔案:
檔案 | 大小 | 格式 | |
---|---|---|---|
ntu-104-1.pdf 目前未授權公開取用 | 2.8 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。