摘要
Android系统提供了多种应用间交互机制,其中开放活动(Exported Activity,EA)不需要复杂的跨进程交互就可以被其他应用在运行时调用.现在很多研究主要关注GUI组件的功能性测试,但是在Android应用本身往往不会启动内部的开放活动,所以开放活动有时候很难被覆盖到.本文提出了一种系统化测试开放活动的方法,使用该方法可以生成一组代理应用作为测试驱动程序启动应用中的开放活动.首先,使用静态分析技术解析APK文件,提取出开放活动列表和启动它们需要数据的键值和类型;其次,将相应的数据填充到预先设置好的模板中,生成测试驱动应用.本文基于提出的测试方法开发了一款原型工具——EASTER,使用一些真实的应用进行了实验.实验结果显示,所有测试应用共有65个开放活动,其中有20个开放活动在被外部应用启动过程中存在漏洞.
- 单位