软件所在移动应用质量保障方面取得进展
文章来源: | 发布时间:2023-02-08 | 【打印】 【关闭】
近日,软件所互联网软件技术实验室在移动应用程序质量保障方面喜提ICSE·2023国际会议三篇论文。研究成果聚焦移动应用程序质量保障方向,涉及移动应用程序的自动化测试输入生成、活动转移图自动补全、缺陷自动复现等方面,可赋能质量保障活动,多角度提升移动应用程序的质量。
论文“Fill in the Blank: Context-aware Automated Text Input Generation for Mobile GUI Testing”关注移动应用程序自动化测试过程中的输入生成问题。近年来自动化图形用户界面(GUI)测试被广泛用于帮助开发团队确保移动应用程序的质量。然而许多GUI需要适当的文本输入才能进入下一页,文本输入的质量成为影响测试覆盖率的主要障碍。由于有效文本输入(例如航班的出发地、电影名称、用户血压信息等)具有多样性和语义要求的特点,实现文本输入生成的自动化是一项具有挑战性的任务,其难度主要体现在两个方面,一是输入时需要生成不同类型的特定值,例如地图应用程序的街道地址;二是在同一GUI页面内需要体现文本之间的关联性,例如航班搜索中出发和到达地需要是不同位置。如果文本输入不恰当,自动化测试工具将无法进入下一个UI页面,从而导致测试的充分性低下。
针对以上的挑战,团队提出了一种上下文感知的自动文本输入生成方法QTypist,即使用预先训练的大型语言模型(LLM)来智能地生成语义输入文本,以增强移动GUI测试。其设计逻辑是,先给定一个带有文本输入的GUI页面及其相应的视图层次结构文件,通过提取文本输入的上下文信息,来设计语言模式以生成提示作为LLM的输入。同时,为了提高LLM在移动GUI中文本输入的性能,团队还开发了一种基于提示的数据构建和调优方法,以自动提取用于模型调优的提示和答案。
图1展示了该方法的基本框架。团队对来自Google Play的106个应用程序进行了评估,结果显示,该方法生成文本的通过率为87%,比最佳基线高93%。团队还将文本生成方法与自动化GUI测试工具集成,与原始工具相比,集成后的工具可以多覆盖42%的应用程序活动和52%的页面,同时多检测82%的bug,从而提升了自动化测试工具的测试覆盖率和缺陷检测效率。
图1. QTypist基本框架
论文“Ex pede Herculem: Augmenting Activity Transition Graph for Apps via Graph Convolution Network”关注移动应用程序的活动转移图自动补全问题。由于安卓应用程序是事件驱动的,活动转换图(ATG)成为应用程序抽象和GUI建模的重要方式。尽管现有的工作提供了静态和动态分析来构建应用程序的ATG,但由于这些技术的低覆盖率,所获得的ATG的完整性较差。针对以上的挑战,受到应用程序的活动名称存在语义信息这一启发,团队提出ArchiDroid来自动预测应用程序活动之间的转换,并增强其ATG。首先通过静态分析提取种子ATG;然后构建活动嵌入模型,将活动名称嵌入到语义向量中;最后构造一个图卷积层,学习活动名称和图结构信息的语义并预测活动之间的转换,从而实现自动构建应用程序的ATG。
图2展示了该方法的基本框架。团队在真实的流行移动应用程序上进行评估,结果表明,在预测增强ATG的活动之间的转换时,工具可以达到86%的准确率和94%的召回率。团队进一步将增强的ATG应用于两个下游任务,即自动化GUI测试指导和应用程序功能设计协助。结果表明,集成了我们方法的自动化GUI测试工具,提升了43%的活动覆盖率。此外,该方法可以在真实应用程序中以85%的准确率预测缺失的功能,以帮助应用程序功能设计。
图2. ArchiDroid基本框架
图3展示了该方法的基本框架。团队对来自69个流行的移动应用程序的102个缺陷报告进行了评估,ScopeDroid成功地重现了63.7%的崩溃,比最先进的基线高出32.1%和38.3%。
图3. ScopeDroid基本框架
“Fill in the Blank: Context-aware Automated Text Input Generation for Mobile GUI Testing”和“Ex pede Herculem: Augmenting Activity Transition Graph for Apps via Graph Convolution Network”第一作者为博士生刘哲,“Context-aware Bug Reproduction for Mobile Apps”第一作者为博士生黄芋超,通讯作者均为王俊杰研究员、王青研究员。研究获得科技部重点研发计划、国家自然科学基金、中国科学院青年创新促进会的支持。