透過您的圖書館登入
IP:3.149.243.32
  • 期刊
  • OpenAccess

A Feedback-Directed Approach to Crawl Android Apps for Increasing Code Coverage

摘要


To automate GUI testing for Android apps, a popular technique is to use a GUI crawler to systematically explore the GUIs of the apps while detecting possible app crashes. However, during GUI exploration, the crawler may get stuck and crawl some GUI states repeatedly, resulting in no increase in code coverage. This can significantly affect the efficiency of the GUI crawler and thus the effectiveness of app crash detection. To relieve this problem, this paper proposes a feedback-directed approach to guide the behavior of the crawler. Specifically, the approach can assess whether the GUI crawler gets trapped based on the feedback from the crawling results, and dynamically adjust the priority of GUI states to visit in order to guide the crawler to improve code coverage. Particularly, to update the priority of GUI states, two feedback-directed strategies, CoverageDirectedStrategy and StateDirectedStrategy, are presented to lead the crawler to exercise more code or explore more GUI states, respectively. To evaluate the proposed approach, we have extended our earlier Android crawler called ACE to support the approach and strategies. The experimental results show that both feedback-directed strategies can effectively detect whether ACE is trapped and guide ACE out of the traps, thereby improving code coverage.

延伸閱讀