TBD
Software engineering research aims to increase the quality of the software found in nearly all modern technology. To make significant advances, the empirical results of this research must be reproducible and comparable using realistic artifacts. This is particularly true in research areas such as software testing and debugging, program comprehension, software evolution, and machine learning in software engineering. Defects4J is a database of real software faults and a supporting infrastructure which have been widely adopted by the software engineering community. Defects4J supports the community by furthering reproducibility, enabling faster and better completion of downstream research, and freeing researchers from the burden of developing or redeveloping experimental infrastructures.
This project enables sustained innovation and reproducibility in software engineering research by making Defects4J more broadly available and meeting the growing interest and feature requests from the software engineering research community. Specifically, this project aims to:
- grow the current set of artifacts in Defects4J, based on community feedback,
- develop a fully automated framework for mining additional artifacts,
- future-proof and containerize all artifacts for use with modern compilers and runtime environments, and
- provide comprehensive tutorials and templates to support researchers and educators.
Additionally, this project advances scientific knowledge about defect patterns, prediction and prevention, applicability and limitations of research techniques, and best practices for empirical evaluations.
Finally, this project supports software engineering education at the graduate and undergraduate level. The developed benchmark and infrastructure allow students to reproduce published results, experiment with, and compare, existing tools and techniques, and quickly evaluate new ideas.