PExReport-Maven: Creating Pruned Executable Cross-Project Failure Reports in Maven Build System

Date

2023-07-13

Authors

Huang, Sunzhou
Wang, Xiaoyin

Journal Title

Journal ISSN

Volume Title

Publisher

Association for Computing Machinery

Abstract

Modern Java software development extensively depends on existing libraries written by other developer teams from the same or a different organization. When a developer executes the test, the execution trace may go across the boundaries of multiple dependencies and create cross-project failures (CPFs). A readable, executable, and concise CPF report may enable the most effective communication, but creating such a report is often challenging in Java ecosystems. We developed PExReport-Maven to automatically create the ideal CPF reports in the Maven build system. PExReport-Maven leverages the Maven build system to prune source code, dependencies, and the build environment to create a concise stand-alone executable CPF reproduction package from the original CPF project. The reproduction package includes the source code, dependencies, and build environment necessary to reproduce the CPF, making it an ideal CPF report. We performed an evaluation on 74 software project issues with 198 cross-project failures, and the evaluation results show that PExReport can create pruned reproduction packages for 184 out of the 198 test failures in our dataset, with an average reduction of 72.97% in Java classes. A future study will be conducted based on user feedback from using this tool to report real-world CPFs. PExReport-Maven is publicly available at https://github.com/wereHuang/PExReport-Maven. The tool demo is available on the PExReport website: https://sites.google.com/view/pexreport/home.

Description

Keywords

cross-project failure, test failure, failure report, maven, failure reproduction

Citation

Huang, S., & Wang, X. (2023). PExReport-Maven: Creating Pruned Executable Cross-Project Failure Reports in Maven Build System. Paper presented at the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis, Seattle, WA, USA. https://doi.org/10.1145/3597926.3604929

Department

Computer Science