软件所在移动应用质量保障方面取得进展

文章来源:  |  发布时间: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 Play106个应用程序进行了评估,结果显示,该方法生成文本的通过率为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基本框架

  论文“Context-aware Bug Reproduction for Mobile Apps”关注移动应用程序的缺陷自动复现问题。在开放环境下,众多测试者和用户在平台上贡献大量缺陷报告,这些群智贡献信息为软件质量保障提供了丰富的知识源。但在修复缺陷之前,开发人员需要手工复现缺陷,这是一项极其耗时和乏味的工作,人们非常期待将这一过程自动化。目前,缺陷自动复现主要面临以下两方面的挑战,致使自动复现的成功率不高或效率低下:一是报告质量参差不齐,复现步骤有描述不精确或不完整的问题;二是GUI组件信息源单一且存在缺失或模糊的问题。针对上述挑战,团队提出了一种上下文感知的缺陷复现方法ScopeDroid,其能依据缺陷报告中的文本复现步骤,自动复现崩溃。该方法首先通过自动化探索工具构建目标应用的状态转换图并提取各GUI组件的信息,然后多模态神经匹配网络将会依据GUI组件的文本、图片、上下文等信息,与复现步骤间进行匹配,最后路径规划模块将会依据状态转移图和匹配结果,以全局视角规划出复现缺陷的探索路径。

   图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”第一作者为博士生黄芋超,通讯作者均为王俊杰研究员、王青研究员。研究获得科技部重点研发计划、国家自然科学基金、中国科学院青年创新促进会的支持。