PROMAL: Precise Window Transition Graphs for Android via Synergy of Program Analysis and Machine Learning

PROMAL: Precise Window Transition Graphs for Android via Synergy of Program Analysis and Machine Learning
复制标题

DOI:
10.1145/3510003.3510037
复制
发表时间:
2022-05
期刊:
2022 IEEE/ACM 44th International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Changlin Liu;Hanlin Wang;Tianming Liu;Diandian Gu;Yun Ma;Haoyu Wang;Xusheng Xiao
Changlin Liu;Hanlin Wang;Tianming Liu;Diandian Gu;Yun Ma;Haoyu Wang;Xusheng Xiao
中科院分区:
其他
文献类型:
--
作者:
Changlin Liu;Hanlin Wang;Tianming Liu;Diandian Gu;Yun Ma;Haoyu Wang;Xusheng Xiao

文献摘要

相似文献

移动的应用程序已经成为我们日常生活中不可或缺的一部分。随着这些应用程序变得越来越复杂,提供自动化分析技术以确保这些应用程序的正确性,安全性和性能至关重要。这些自动化分析技术的一个关键组成部分是创建应用程序的图形用户界面(GUI)模型,即,窗口转换图(WTG),其对窗口和窗口之间的转换进行建模。虽然现有的工作提供了静态和动态分析来构建应用程序的WTG,但由于动态分析的覆盖问题和静态分析的过度近似,所构建的WTG错过了许多转换或包含许多不可行的转换。我们提出ProMal,一个“三杂交”分析,协同结合静态分析,动态分析和机器学习,以构建一个精确的WTG。具体来说,ProMal首先应用静态分析来构建静态WTG,然后应用动态分析来验证静态WTG中的转换。对于未经验证的转换,ProMal还提供了利用运行时信息的机器学习技术(即,屏幕截图、UI布局和文本信息)来预测它们是否是可行的转换。我们对40个真实世界应用程序的评估表明,ProMal在构建风力发电机组方面优于静态分析,动态分析和机器学习技术。
Mobile apps have been an integral part in our daily life. As these apps become more complex, it is critical to provide automated analysis techniques to ensure the correctness, security, and performance of these apps. A key component for these automated analysis techniques is to create a graphical user interface (GUI) model of an app, i.e., a window transition graph (WTG), that models windows and transitions among the windows. While existing work has provided both static and dynamic analysis to build the WTG for an app, the constructed WTG misses many transitions or contains many infeasible transitions due to the coverage issues of dynamic analysis and over-approximation of the static analysis. We propose ProMal, a “tribrid” analysis that synergistically combines static analysis, dynamic analysis, and machine learning to construct a precise WTG. Specifically, ProMal first applies static analysis to build a static WTG, and then applies dynamic analysis to verify the transitions in the static WTG. For the unverified transitions, ProMal further provides machine learning techniques that leverage runtime information (i.e., screenshots, UI layouts, and text information) to predict whether they are feasible transitions. Our evaluations on 40 real-world apps demonstrate the superiority of ProMal in building WTGs over static analysis, dynamic analysis, and machine learning techniques when they are applied separately.