<p>Existing methods for detecting API compatibility issues are mainly static analysis methods. They tend to produce a large number of false positives and rely on manual verification, which is often inefficient. Android API compatibility issues cannot be effectively detected by automated testing tools since they are rarely specifically designed for these issues. Android API compatibility issues cannot be effectively detected by automated testing tools since they are rarely specifically designed for these issues. ACPDroid, a screen transition graph guided testing method for Android API compatibility issues, is proposed in this paper to assist developers in rapid API compatibility issue detection. First, ACPDroid conducts an API compatibility analysis on the application under test to identify APIs that may induce compatibility issues; then the relationships between UI components and functions are analyzed to locate the widgets that can trigger the problematic APIs, and screens which contain these widgets are identified by analyzing the application’s manifest file; finally, ACPDroid builds the screen transition graph (STG) of the application under test to guide automated testing to detect API compatibility issues. A prototype tool is implemented based on the proposed method, and comparative experiments are conducted on a dataset of open-source Android applications with the automated testing tools DroidBot, FastBot2 and TESTAR. The experimental results show that ACPDroid detects two, three and two more compatibility issues than DroidBot, FastBot2 and TESTAR, respectively. In addition, compared with DroidBot, FastBot2 and TESTAR, the average time taken by ACPDroid to detect API compatibility issues is reduced by 98.9%, 89.4% and 95.7%, respectively.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Detecting API compatibility issues of android applications based on screen transition graphs

  • Gaoyi Lin,
  • Zhanqi Cui,
  • Xiang Chen,
  • Jingjing Chen,
  • Yadong Zhang

摘要

Existing methods for detecting API compatibility issues are mainly static analysis methods. They tend to produce a large number of false positives and rely on manual verification, which is often inefficient. Android API compatibility issues cannot be effectively detected by automated testing tools since they are rarely specifically designed for these issues. Android API compatibility issues cannot be effectively detected by automated testing tools since they are rarely specifically designed for these issues. ACPDroid, a screen transition graph guided testing method for Android API compatibility issues, is proposed in this paper to assist developers in rapid API compatibility issue detection. First, ACPDroid conducts an API compatibility analysis on the application under test to identify APIs that may induce compatibility issues; then the relationships between UI components and functions are analyzed to locate the widgets that can trigger the problematic APIs, and screens which contain these widgets are identified by analyzing the application’s manifest file; finally, ACPDroid builds the screen transition graph (STG) of the application under test to guide automated testing to detect API compatibility issues. A prototype tool is implemented based on the proposed method, and comparative experiments are conducted on a dataset of open-source Android applications with the automated testing tools DroidBot, FastBot2 and TESTAR. The experimental results show that ACPDroid detects two, three and two more compatibility issues than DroidBot, FastBot2 and TESTAR, respectively. In addition, compared with DroidBot, FastBot2 and TESTAR, the average time taken by ACPDroid to detect API compatibility issues is reduced by 98.9%, 89.4% and 95.7%, respectively.