我院潘敏学老师在移动应用的质量保障研究上取得系列重要进展

发布日期:2020-06-06 浏览次数:



       移动应用已逐步渗透进我们的生活,然而其质量良莠不齐,急需有效的质量保障方法。我院潘老师及其合作者针对移动应用的自身特点,基于机器学习、程序分析及形式化方法等多种手段,研究了移动应用的质量保障问题并取得了一系列重要进展。


       进展一:自动化测试效果达到国际领先水平

       自动化测试是移动应用测试的基本手段,在学术界和工业界都有大量的研究和应用,也衍生出了随机测试、系统化测试、基于模型的测试等一大批测试方法及工具。本研究将自动化测试转换成移动应用状态空间的探索问题,创新地提出基于强化学习的方法,以好奇心驱动的策略探索移动应用程序的状态空间,并通过训练神经网络来划分状态和确定强化学习奖励。在大量移动应用程序上进行的实验表明,该方法无论在代码覆盖率还是故障检测上,都优于国际上主流的测试工具。该成果发表在由国际计算机协会(ACM)举办的软件测试与分析领域的顶级国际会议ISSTA 2020上。ISSTA也是中国计算机学会(CCF)推荐的A类会议。


       进展二:首次提出并研究了面向偏好设置的移动应用测试问题

       偏好设置(preference settings)是移动应用提供的设置选项,是应用程序的基本组成部分。目前的测试技术大多不会明确指定测试用例中使用的特定偏好设置,迫使测试人员手动设置选项或盲目尝试不同的选项组合。本研究首次提出了面向偏好设置的移动应用测试问题,并研究了面向偏好设置的增强型自动测试方法。该方法通过对应用程序进行静态和动态相结合的分析,可定位影响测试用例的偏好选项,并仅在必要的选项组合下执行测试用例。实验评估显示该方法可有效提升现有测试方法的代码覆盖率并发现更多的偏好设置相关缺陷。该成果发表在由国际计算机协会(ACM)举办的理论软件工程领域的顶级国际会议ESEC/FSE 2019上。ESEC/FSE也是中国计算机学会(CCF)推荐的A类会议。


       进展三:面向安卓提出了基于IFML的形式化建模语言

       模型驱动的开发使用模型来描述开发需求与设计,可以帮助开发人员更好地将注意力集中于应用逻辑本身。然而当前对安卓移动应用的建模都采用了传统模型,无法满足应用事件驱动和注重图形用户界面的特点。本研究对国际标准的交互流建模语言(IFML)进行了面向安卓的扩展,提高了其可用性与对安卓应用的适用性,并对IFML模型语言进行了形式化定义,使其能以丰富而又精确的语义来刻画开发者对于安卓应用的设计。本研究还探索了IFML模型在应用测试这一场景中的作用。实验表明,扩展后的IFML在安卓应用的建模上可行有效,所建立的IFML模型可直接用于测试工作,用于检测应用实现与设计是否保持一致,从而保证应用的开发质量。该成果发表在系统与软件领域的国际旗舰期刊Journal of Systems and Software上。



以上研究工作得到了国家重点研发计划项目、国家自然科学基金重点及面上项目、中央高校基本科研业务经费的资助。