Software development teams generally welcome any effort to expose bugs in their code base. In this work, we build on the hypothesis that mobile apps from the same category (e.g., two web browser apps) may be affected by similar bugs in their evolution process. It is therefore possible to transfer the experience of one historical app to quickly find bugs in its new counterparts. This has been referred to as collaborative bug finding in the literature. Our novelty is that we guide the bug finding process by considering that existing bugs have been hinted within app reviews. Concretely, we design the BugRMSys approach to recommend bug reports for a target app by matching historical bug reports from apps in the same category with user app reviews of the target app. We experimentally show that this approach enables us to quickly expose and report dozens of bugs for targeted apps such as Brave (web browser app). BugRMSys's implementation relies on DistilBERT to produce natural language text embeddings. Our pipeline considers similarities between bug reports and app reviews to identify relevant bugs. We then focus on the app review as well as potential reproduction steps in the historical bug report (from a same-category app) to reproduce the bugs. Overall, after applying BugRMSys to six popular apps, we were able to identify, reproduce and report 20 new bugs: among these, 9 reports have been already triaged, 6 were confirmed, and 4 have been fixed by official development teams, respectively.
翻译:软件开发团队一般欢迎任何在代码基中披露错误的努力。 在这项工作中, 我们基于一个假设, 即来自同一类别的移动应用程序( 例如两个网络浏览器应用程序) 可能会在其进化过程中受到类似错误的影响。 因此, 有可能将一个历史应用程序的经验传输到在新的软件中快速发现错误。 这在文献中被称为协作错误发现。 我们的新颖之处是, 我们通过考虑应用程序审查中已经暗示了现有的错误, 来指导错误查找程序。 具体地说, 我们设计“ 错误报告” 方法, 通过将同一类别的应用程序的历史错误报告与目标应用程序的用户应用程序审查相匹配, 来推荐一个目标应用程序的错误报告。 我们实验性地显示, 这个方法可以让我们快速披露和报告一个历史应用程序的经验, 在新的应用程序中快速查找错误。 在文献库中, BugRMS 的操作依靠 DettilBERT 来生成自然语言嵌入。 我们的管道考虑错误报告与应用程序审查之间的相似之处, 来识别相关的错误。 我们随后将关注软件审查, 作为可能复制步骤, 在历史报告中, IMBRA 之后, 将 复制 复制 6 分别 和 复制。