跳到主要內容

臺灣博碩士論文加值系統

(216.73.216.152) 您好!臺灣時間:2025/11/05 05:37
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:陳肇陽
研究生(外文):Jhao-Yang Chen
論文名稱:延伸ACE爬蟲器以支援個別選擇覆蓋之相等狀態策略
論文名稱(外文):Extending ACE Crawler for Supporting Equivalent State Strategy with Each Choice Coverage
指導教授:陳偉凱陳偉凱引用關係劉建宏劉建宏引用關係
指導教授(外文):Woei-Kae ChenChien-Hung Liu
口試委員:陳偉凱劉建宏林迺衛
口試日期:2018-07-10
學位類別:碩士
校院名稱:國立臺北科技大學
系所名稱:資訊工程系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2018
畢業學年度:106
語文別:中文
論文頁數:57
中文關鍵詞:GUI狀態圖相等狀態策略Android爬蟲
外文關鍵詞:GUI State GraphEquivalent State StrategyAndroid Crawler
相關次數:
  • 被引用被引用:0
  • 點閱點閱:315
  • 評分評分:
  • 下載下載:8
  • 收藏至我的研究室書目清單書目收藏:0
Android爬蟲(crawler)可以自動化探索Android應用程式(app)的GUI,並產生GUI狀態圖,用以分析和測試應用程式行為正確與否。然而Android app的GUI狀態數量可能相當多,特別是當一個app含有多個選擇性元件時,容易產生極多的狀態組合,例如一個畫面包含n個switch button和m個checkbox,那麼該畫面的GUI狀態組合數量即高達2m+n個;為減緩選擇性元件(choice widget)之狀態組合數量過多導致的狀態爆炸問題,本論文延伸AndroidCrawlEr(ACE)之研究,提出個別選擇(each choice)相等狀態策略,此策略將多個含有選擇性元件且相似的狀態組合予以抽象化,使其成為一個狀態,以減少狀態的數量、避免ACE探索所有組合;本論文亦說明一方法以解決因狀態相等而衍生之非決定性事件(non-deterministic event)的問題。實驗結果顯示所提出的策略可以有效減少ACE對具選擇性元件app的整體爬行時間以及GUI狀態圖之狀態和移轉的數量。
Android crawler can be used to explore the GUI of an Android app automatically and generate a GUI state graph that can facilitate the behavior analysis and testing of the app. However, the state explosion problem can occur if the Android app under exploration has tremendous GUI states. Particularly, an app’s GUI screen may contain many choice widgets which together can generate huge combinations of GUI states. For example, a GUI with n switch buttons and m checkboxes can generate a total combination of 2m+n states. To alleviate the state explosion problem caused by the combination of choice widgets, this thesis extends the ACE crawler with a state equivalent strategy, called the “Each Choice Equivalent Strategy”, that can abstract similar state combinations of choice widgets into a GUI state for reducing the number of states to be explored. In addition, a method to handle the non-deterministic events introduced by the state equivalent strategy is also described. The experimental results show that, with the proposed state equivalent strategy, the overall crawling time, the number of explored GUI states, and the number of executed events of ACE can be reduced for the Android apps with choice widgets.
摘 要 i
ABSTRACT ii
誌 謝 iv
目 錄 v
表目錄 vii
圖目錄 viii
第一章 緒論 1
1.1 研究動機與目的 1
1.2 論文組織結構 3
第二章 背景與相關研究 4
2.1 AndroidCrawlEr簡介 4
2.2 ACE的相等狀態策略 6
2.3 Android爬蟲器相關研究 13
第三章 個別選擇相等狀態策略設計 17
3.1 相等狀態策略之問題與挑戰 17
3.2 個別選擇相等狀態策略 18
3.2.1 個別選擇覆蓋之概念 18
3.2.2 個別選擇相等狀態策略 21
3.3 相等狀態衍生之非決定性事件問題 24
第四章 系統設計與實作 27
4.1 系統架構 27
4.2 新增Each Choice相等狀態策略 28
4.3 Popup狀態標記 30
4.3.1 Popup狀態表示問題 30
4.3.2 Popup狀態邊界框線繪製 31
4.4 管理測試事件 32
4.4.1 測試事件未能自由調整 32
4.4.2 增設Configuration選項 32
4.5 使用範例 33
4.5.1 設定爬蟲器參數 33
4.5.2 執行爬蟲 35
4.5.3 觀看狀態圖 36
4.6 ACE爬蟲器開源準備工作 38
4.6.1 軟體授權 39
4.6.2 相關知識 40
第五章 實驗 41
5.1 研究問題 41
5.2 實驗設備及環境設定 42
5.3 實驗一 44
5.4 實驗二 48
5.5 實驗三 50
第六章 結論與未來研究方向 53
6.1 結論 53
6.2 未來研究方向 54
參考文獻 56
[1] "Number of available applications in the Google Play Store from December 2009 to December 2017," Statista, 12 2017. [Online]. Available: https://www.statista.com/statistics/266210/number-of-available-applications-in-the-google-play-store/.
[2] ShuHang Ho, "A Framework Supporting the Comparison of Android Crawling Algorithms," in Computer Science and Information Engineering Department, National Taipei University of Technology, 2017.
[3] Aravind Machiry, Rohan Tahiliani, Mayur Naik, "Dynodroid: an input generation system for Android apps," Proceedings of the Joint Meeting on Foundations of Software Engineering, pp. 224-234, 8 2013.
[4] Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, Bryan Dzung Ta, and Atif M. Memon, “Using GUI ripping for automated testing of Android applications,” ASE 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, pp. 258-261, 9 2012.
[5] Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, Bryan Dzung Ta, and Atif M. Memon, “MobiGUITAR: Automated Model-Based Testing of Mobile Apps,” IEEE Software, pp. 53-59, 4 2014.
[6] Wontae Choi, George Necula, and Koushik Sen, “Guided GUI testing of android apps with minimal restart and approximate learning,” Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications (OOPSLA 13), pp. 623-640, 10 2013.
[7] Gennaro Imparato, “A Combined Technique of GUI Ripping and Input Perturbation Testing for Android Apps,” Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on, pp. 760-762, 8 2015.
[8] Peng Wang, Bin Liang, Wei You, Jingzhe Li, and Wenchang Shi, “Automatic Android GUI Traversal with High Coverage,” Proceedings of the Fourth International Conference on Communication System and Network Technologies (CSNT), pp. 1161-1166, 5 2014.
[9] Tianxiao Gu, Chun Cao, Tianchi Liu, Chengnian Sun, Jing Deng, Xiaoxing Ma, Jian Lu, “AIMDROID: Activity-Insulated Multi-level,” Software Maintenance and Evolution (ICSME), 2017 IEEE International Conference on, pp. 103-114, 11 2017.
[10] Wei Yang., Mukul R. Prasad, Tao Xie, “A Grey-Box Approach for Automated GUI-Model Generation of Mobile Applications,” FASE13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering, pp. 250-265 , 2013.
[11] Tanzirul Azim, Iulian Neamtiu, “Targeted and depth-first exploration for systematic testing of android apps,” Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications, pp. 641-660 , 2013.
[12] Young-Min Baek, Doo-Hwan Bae, “Automated model-based Android GUI testing using multi-level GUI comparison criteria,” 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 238 - 249, 9 2016.
[13] "Open source license usage on GitHub.com," GitHub, 9 3 2015. [Online]. Available: https://blog.github.com/2015-03-09-open-source-license-usage-on-github-com/.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top