跳到主要导航 跳到搜索 跳到主要内容

Effectively Finding ICC-related Bugs in Android Apps via Reinforcement Learning

  • Hui Guo
  • , Ting Su*
  • , Xiaoqiang Liu*
  • , Siyi Gu
  • , Jingling Sun
  • *此作品的通讯作者
  • East China Normal University
  • Donghua University

科研成果: 书/报告/会议事项章节会议稿件同行评审

摘要

Inter-component communication (ICC) is a key mechanism in Android. It utilizes intents to achieve the communications between different components in the apps. Thus, the successful execution of ICCs (named ICC calls) is fundamental to the app operations. However, existing testing tools for Android seldom explicitly consider these ICC calls, which may fail to find those ICC-related bugs. To this end, we propose a novel ICC-guided exploration strategy to effectively find the ICC-related bugs. Our idea is that, we can (1) build an ICC call graph from the app under test, and (2) use this graph to guide the exploration toward exercising the ICC calls. To achieve this idea, we design this ICC-guided exploration strategy based on Q-learning, a classic reinforcement learning algorithm. Specifically, the reward function explicitly considers the number of explored intents, the number of promising-to-explore intents and the exploration order of explored intents to improve testing effectiveness. Moreover, to build a more complete ICC call graph, we design a graph enhancement exploration strategy also based on Q-learning to complement the call graph construction via static analysis. We have implemented our idea as an automated testing tool IccDroid. The evaluation on 28 real-word Android apps shows that IccDroid can effectively find the most number of ICC-related bugs within the same testing time, compared to existing testing tools - the bugs found by IccDroid are 1.7~2.7 times more than the others. So far, IccDroid has found 13 previously unknown ICC-related bugs, all of which have been confirmed by the app developers and five have already been fixed.

源语言英语
主期刊名Proceedings - 2023 IEEE 34th International Symposium on Software Reliability Engineering, ISSRE 2023
出版商IEEE Computer Society
403-414
页数12
ISBN(电子版)9798350315943
DOI
出版状态已出版 - 2023
活动34th IEEE International Symposium on Software Reliability Engineering, ISSRE 2023 - Florence, 意大利
期限: 9 10月 202312 10月 2023

出版系列

姓名Proceedings - International Symposium on Software Reliability Engineering, ISSRE
ISSN(印刷版)1071-9458

会议

会议34th IEEE International Symposium on Software Reliability Engineering, ISSRE 2023
国家/地区意大利
Florence
时期9/10/2312/10/23

指纹

探究 'Effectively Finding ICC-related Bugs in Android Apps via Reinforcement Learning' 的科研主题。它们共同构成独一无二的指纹。

引用此