Skip to content

Bug-Detection-and-Repair: A comprehensive ML-driven framework for Automated Program Repair (APR). It features the novel BugNet and AoC datasets, a practical Python repair pipeline, and natural language bug hint generation for better interpretability. Developed under the Intel Unnati program.

Notifications You must be signed in to change notification settings

atharvak-dev/Automated-Program-Repair-APR-Framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– Automated Program Repair (APR) Framework

Bug Detection and Repair: A comprehensive, machine-learning-driven framework designed to automatically detect, analyze, and repair bugs in source code. Stop debugging, start repairing!

πŸš€ Project Overview: The Mission

This project is a deep dive into Automated Program Repair (APR), addressing the critical need for faster, more reliable software development. Our core goals are:

  • 1️⃣ Data Powerhouse: Create robust, high-quality datasets ($\text{BugNet, AoC}$) essential for training state-of-the-art bug detection and repair systems.
  • 2️⃣ Algorithmic Excellence: Develop, implement, and rigorously evaluate cutting-edge algorithms for automated code repair.
  • 3️⃣ Deep Insights: Provide analytical clarity into common bug patterns and effective repair strategies.

πŸ—οΈ Repository Blueprint: Where to Start

The project is thoughtfully structured to support research, data generation, and practical application:

Directory 🎯 Purpose Why it's Awesome
bugnet BugNet Dataset Generation Scripts to create the comprehensive $\text{BugNet}$ dataset (buggy code $\leftrightarrow$ correct code pairs).
repair-pipeline The Repair Demo Practical, runnable demo applications showcasing our trained Python repair models in action.
aoc-dataset AoC Dataset Source Code used to generate the $\text{Advent of Code (AoC)}$ dataset for diverse testing.
hint Natural Language Hint Generation Contains the code to translate tricky bugs into user-friendly, natural language descriptions.
repair Evaluation & Benchmarks The frameworks used to benchmark and evaluate the performance of all implemented repair algorithms.

πŸ› οΈ Get Started in 30 Seconds!

Ready to fix bugs automatically? Setting up your environment is simple:

# 1. Create a virtual environment
python -m venv .venv

# 2. Activate the environment
source .venv/bin/activate

# 3. Install dependencies from the Makefile
make install

πŸ“– Usage Guides: Explore Our Capabilities

Dive into the specific components you find most interesting!


🌟 Project Context & Acknowledgments

This advanced program repair framework was proudly developed as a capstone project during the Intel Unnati internship program, focusing on applying cutting-edge Machine Learning techniques to solve complex Software Engineering challenges.

Core Contributors

A big thank you to the team who built this framework:

  • Atharva Karval
  • Samarth Patil
  • Om Dalbhanjan

What's Next?

We welcome contributions and feedback! Have you found an exciting new repair algorithm? Open an Issue or a Pull Request!

About

Bug-Detection-and-Repair: A comprehensive ML-driven framework for Automated Program Repair (APR). It features the novel BugNet and AoC datasets, a practical Python repair pipeline, and natural language bug hint generation for better interpretability. Developed under the Intel Unnati program.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published