您的位置:首页 >互联网 >

评估Android应用程序自动修复方法的新基准

2019-06-10 15:59:16   编辑:   来源:
导读 自动程序修复(APR)是一个新兴的研究领域,旨在开发自动修复软件错误的方法,而无需人类程序员的干预。在开发之后,APR技术通常在若干基准上

自动程序修复(APR)是一个新兴的研究领域,旨在开发自动修复软件错误的方法,而无需人类程序员的干预。在开发之后,APR技术通常在若干基准上评估,这些基准是通过运行一系列标准测试来评估计算机程序或系统的性能的过程。

Universidade Federal de Goias和I4Soft的研究人员最近根据对Android的360个开放项目的分析开发了一个入门基准,每个项目的下载次数超过5,000次。这个基准在预先发布在arXiv上的一项研究中提出,包含13个单一的错误,这些错误按照有效暴露它们的测试类型进行分类。

“我们的工作是在最近一个叫做自动程序修复的研究领域的背景下进行的,”进行这项研究的研究人员之一Celso Camilo告诉TechXplore。“一些自动修复解决方案已经被提出并使用专门的基准测试进行评估。然而,尽管Android应用程序的大量使用,没有基准设计用于评估移动项目的自动程序修复技术。”

为了解决这个缺点,研究人员开发了DroidBugs,这是一个新的基准测试,具有来自移动项目的真实且可重现的错误。此基准测试可帮助评估Android应用程序的新自动程序修复程序。

“DroidBugs是一套明确定义的真实开源Android应用程序中的错误配置文件,”Camilo解释说。“它组织并提供13个错误,其中7个通过模拟Android设备显示,6个仅分析源代码。基准测试显示源代码中的错误位置,源代码的错误和修复版本以及测试套件用于揭露错误。“

使用由Camilo在I4Soft的研究小组开发的APR工具Astor4Android,以及两种常见的故障定位策略,研究人员试图找到并修复Android应用程序中的错误。在这样做的同时,他们遇到了许多未来研究可以解决的挑战。

“我们在Android开发环境中提供了自动程序 修复的第一个公共基准,”Camilo说。“我们还应用了现有的APR算法并报告了自动定位和修复基准测试中的错误的结果。通过这些调查结果,我们能够指出基于开源Android项目生成相关基准测试的重要挑战,这可能对未来在这个研究领域的努力。“

Camilo及其同事开展的这项研究可为开发进一步的基准测试奠定基础,以评估Android移动应用的APR技术。研究人员现在正计划扩大研究范围,探索改进DroidBugs的新方法。

“我们打算通过增加基准测试所涵盖的应用程序数量来扩展错误类型,”Camilo说。“我们还计划深入调查当前APR技术在修复Android应用程序错误方面面临的挑战。”