中文

生成Android框架的谓词回调摘要

软件工程 2017-03-31 v3

摘要

分析、测试和调试Android应用面临的挑战之一是其源代码中缺失回调的潜在执行顺序。然而,已发现缺陷、漏洞和重构变换与回调序列相关。现有关于Android应用控制流分析的工作主要集中于分析GUI事件。GUI事件虽是决定Android应用控制流的关键部分,但并未提供完整图景。我们的观察是,与GUI事件正交,Android API调用也在决定回调顺序中扮演重要角色。过去,此类控制流信息通过手动建模。本文提出一种构建Android应用程序路径的补充方案。我们提出一种称为谓词回调摘要(Predicate Callback Summary, PCS)的规约技术,其表示Android API方法中的回调控制流信息(包括回调序列以及回调被调用的条件),并开发了静态分析技术以自动计算并应用此类摘要来构建应用的回调序列。我们的实验表明,通过应用PCS,我们能够构建Android应用的控制流图,包括回调间关系,并检测涉及多个回调的不可行路径。此类控制流信息可帮助程序分析与测试工具报告更精确的结果。我们的详细实验数据可从 http://goo.gl/NBPrKs 获取。

关键词

引用

@article{arxiv.1703.08902,
  title  = {Generating Predicate Callback Summaries for the Android Framework},
  author = {Danilo Dominguez Perez and Wei Le},
  journal= {arXiv preprint arXiv:1703.08902},
  year   = {2017}
}

备注

11 pages