What is it about?
Modern software repositories serve as valuable sources of information for understanding and addressing software bugs. In this paper, we present MineCPP, a tool designed for large-scale bug-fixing dataset generation, extending the capabilities of a recently proposed approach, namely Minecraft. MineCPP not only captures bug locations and types across multiple programming languages but introduces novel features like offset of a bug in a buggy source file, the sequence of syntactic constructs up to and including the location of the bug, etc. We discuss architectural and operational aspects of MineCPP, and show how it can be used to automatically mine GitHub repositories. A Graphical User Interface (GUI) further enhances user experience by providing interactive visualizations and quantitative analyses, facilitating fine-grained insights about the structure of bug fix pairs. MineCPP serves as a helpful solution for researchers, practitioners, and developers seeking comprehensive bug-fixing datasets and insights into coding practices. Tool demonstration is available at https://youtu.be/ln99irvbADE.
Featured Image
Photo by Ilya Pavlov on Unsplash
Why is it important?
Bug fixing has no specific pattern and we need to be aware of the state-of-the-practice in how developers fix them. Several downstream tasks include development of tools to automate software maintenaince activities. The data after appropriate cleansing can aslo be used to train AI models.
Perspectives
This paper presents a tool that is easy to install and automate the collection of bugs in the wild. Additionally, a GUI is produced to navigate through the dataset thus collected and trace it directly to the repository where the bug was actually fixed.
Shouvick Mondal
Indian Institute of Technology Gandhinagar
Read the Original
This page is a summary of: MineCPP: Mining Bug Fix Pairs and Their Structures, July 2024, ACM (Association for Computing Machinery),
DOI: 10.1145/3663529.3663797.
You can read the full text:
Resources
Contributors
The following have contributed to this page







