PExReport: Automatic Creation of Pruned Executable Cross-Project Failure Reports

PExReport: Automatic Creation of Pruned Executable Cross-Project Failure Reports
复制标题

DOI:
10.1109/icse48619.2023.00027
复制
发表时间:
2023-05
期刊:
2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Sunzhou Huang;Xiaoyin Wang
Sunzhou Huang;Xiaoyin Wang
中科院分区:
其他
文献类型:
--
作者:
Sunzhou Huang;Xiaoyin Wang

文献摘要

相似文献

现代软件开发广泛地依赖于由来自相同或不同组织的其他开发团队编写的现有库。当开发人员执行软件时,执行跟踪可能会跨越多个软件产品的边界,并创建跨项目失败(CPF)。现有研究表明,独立的可执行失败报告可以实现最有效的沟通,但由于软件生态系统中复杂的文件和依赖项交互,创建这样的报告通常具有挑战性。本文针对CPF报表的三难问题,开发了PExReport,它可以自动生成独立的可执行CPF报表。PExReport利用构建工具来修剪源代码和依赖关系,并进一步分析构建过程,以创建修剪的构建环境来重现CPF。我们对74个软件项目问题的198个CPF进行了评估,评估结果表明,PExReport可以为我们数据集中的198个测试失败中的184个创建可执行的CPF报告,源类和内部JAR中的类平均减少了72.97%。
Modern software development extensively depends on existing libraries written by other developer teams from the same or a different organization. When a developer executes the software, the execution trace may go across the boundaries of multiple software products and create cross-project failures (CPFs). Existing studies show that a stand-alone executable failure report may enable the most effective communication, but creating such a report is often challenging due to the complicated files and dependencies interactions in the software ecosystems. In this paper, to solve the CPF report trilemma, we developed PExReport, which automatically creates stand-alone executable CPF reports. PExReport leverages build tools to prune source code and dependencies, and further analyzes the build process to create a pruned build environment for reproducing the CPF. We performed an evaluation on 74 software project issues with 198 CPFs, and the evaluation results show that PExReport can create executable CPF reports for 184 out of 198 test failures in our dataset, with an average reduction of 72.97% on source classes and the classes in internal JARs.