状态转换图制导的ARP错误检测方法
CSTR:
作者:
作者单位:

作者简介:

通讯作者:

中图分类号:

TP311

基金项目:

江苏省前沿引领技术基础研究专项(BK202002001); 国家自然科学基金(61702041); 北京信息科技大学“勤信人才”培育计划(QXTCP C201906)


State Transition Graph Guided Testing Approach for Detecting ARP Bugs
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    Android应用开发人员需要在保持应用频繁更新的同时快速检测出应用中Android运行时权限(Android runtime permission, ARP)错误. 现有的Android应用自动化测试工具通常未考虑ARP机制, 无法有效测试Android应用内的权限相关行为. 为帮助开发人员快速检测出应用中ARP错误, 提出状态转换图制导的Android应用运行时权限错误检测方法. 首先, 对被测应用APK文件进行权限误用分析, 插桩APK文件中可能导致ARP错误的API, 并对APK文件重新签名; 然后, 安装插桩后的APK文件, 动态探索应用以生成其状态转换图(state transition graph, STG); 最后, 使用STG制导自动化测试, 快速检测出应用中ARP错误. 基于所提出方法实现原型工具RPBDroid, 并与ARP错误动态检测工具SetDroid、PermDroid和传统自动化测试工具APE进行对比实验. 实验结果表明, RPBDroid成功检测出17个应用中的15个ARP错误, 比APE、SetDroid、PermDroid分别多14、12和14个. 此外, 相比于测试工具SetDroid、PermDroid和APE, RPBDroid检测ARP错误的平均用时分别减少86.42%、86.72%和86.70%.

    Abstract:

    While keeping frequent application updates, Android application developers need to detect Android runtime permission (ARP) bugs as quickly as possible. Android applications cannot effectively be tested for permission-related behaviors with automated testing tools since they are rarely designed for ARP bugs. This study proposes a state transition graph guided testing approach for detecting ARP bugs in Android applications. First, it analyzes the APK file of the application under test for permission misuse, instruments the APIs that may cause ARP bugs in the APK file, and re-signs the APK file. Then, it installs the APK file and dynamically explores the application to generate its state transition graph (STG). Finally, it detects ARP bugs quickly by automated testing with the guidance of STG. To evaluate the effectiveness of the approach, the study implements a prototype tool RPBDroid and conducts comparative experiments with the ARP bug detection tools SetDroid, PermDroid, and the automated testing tool APE. The experimental results show that RPBDroid successfully detects 15 ARP bugs out of 17 applications, which detects 14, 12, and 14 more ARP bugs than APE, SetDroid, and PermDroid respectively. In addition, RPBDroid reduces the average time required to detect ARP bugs by 86.42%, 86.72%, and 86.70% in comparison with SetDroid, PermDroid, and APE.

    参考文献
    相似文献
    引证文献
引用本文

林高毅,崔展齐,陈翔,郑丽伟.状态转换图制导的ARP错误检测方法.软件学报,,():1-19

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2023-01-10
  • 最后修改日期:2023-10-29
  • 录用日期:
  • 在线发布日期: 2024-04-24
  • 出版日期:
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号