arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2310.08083cs.SEcs.IR
收藏

利用GUI交互数据改进基于文本检索的缺陷定位

On Using GUI Interaction Data to Improve Text Retrieval-based Bug Localization

Junayed Mahmud, Nadeeshan De Silva, Safwat Ali Khan, Seyed Hooman Mostafavi, SM Hasan Mansur, Oscar Chaparro, Andrian Marcus, Kevin Moran

AI总结:

本研究利用GUI交互数据增强文本检索缺陷定位,通过过滤、提升和查询重构三种方式,在80个真实Android缺陷上实现Hits@10相对提升13-18%。

摘要:

与缺陷报告管理相关的最重要任务之一是定位故障,以便应用修复。因此,先前的工作旨在通过将缺陷定位表述为信息检索问题来自动化此任务,其中潜在有缺陷的文件被检索并根据其与给定缺陷报告的文本相似性进行排名。然而,缺陷报告中所包含的信息与源代码文件中的标识符或自然语言之间通常存在显著的语义差距。对于面向用户的软件,目前有一个关键的信息来源可能有助于缺陷定位,但尚未被深入研究——来自GUI的信息。我们研究了一个假设:对于最终用户面向的应用程序,将缺陷报告中的信息与GUI中的信息连接起来,并利用此来帮助检索潜在有缺陷的文件,可以改进现有的缺陷定位技术。为了检验这一现象,我们进行了一项全面的实证研究,用来自复现场景的GUI交互信息增强四种基线缺陷定位技术,以(i)过滤掉潜在不相关的文件,(ii)提升潜在相关文件,以及(iii)重新表述文本检索查询。为了进行我们的研究,我们获取了当前最大的完全定位且可复现的Android应用真实缺陷数据集,以及相应的缺陷报告,包括来自39个流行的开源应用的80个缺陷报告。我们的结果表明,用GUI信息增强传统技术导致多个指标上的有效性显著提高,包括Hits@10的相对提升13-18%。此外,通过进一步分析,我们发现我们所研究的增强在很大程度上补充了现有技术。

英文摘要:

One of the most important tasks related to managing bug reports is localizing the fault so that a fix can be applied. As such, prior work has aimed to automate this task of bug localization by formulating it as an information retrieval problem, where potentially buggy files are retrieved and ranked according to their textual similarity with a given bug report. However, there is often a notable semantic gap between the information contained in bug reports and identifiers or natural language contained within source code files. For user-facing software, there is currently a key source of information that could aid in bug localization, but has not been thoroughly investigated - information from the GUI. We investigate the hypothesis that, for end user-facing applications, connecting information in a bug report with information from the GUI, and using this to aid in retrieving potentially buggy files, can improve upon existing techniques for bug localization. To examine this phenomenon, we conduct a comprehensive empirical study that augments four baseline techniques for bug localization with GUI interaction information from a reproduction scenario to (i) filter out potentially irrelevant files, (ii) boost potentially relevant files, and (iii) reformulate text-retrieval queries. To carry out our study, we source the current largest dataset of fully-localized and reproducible real bugs for Android apps, with corresponding bug reports, consisting of 80 bug reports from 39 popular open-source apps. Our results illustrate that augmenting traditional techniques with GUI information leads to a marked increase in effectiveness across multiple metrics, including a relative increase in Hits@10 of 13-18%. Additionally, through further analysis, we find that our studied augmentations largely complement existing techniques.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑