BugsInPy: A Database of Existing Bugs in Python Programs to Enable Controlled Testing and Debugging Studies. The objective of this work is to support reproducible research on real-world Python projects.
This project is forked from https://github.com/soarsmu/BugsInPy We carefully verified each bug and fixed some bugs in the original BugsInPy benchmark.
| Project | Number of Bugs | Deprecated Bug IDs |
|---|---|---|
| ansible | 18 | |
| PySnooper | 3 | 1,2,3 |
| black | 23 | 21 |
| cookiecutter | 4 | |
| fastapi | 15 | |
| httpie | 5 | |
| keras | 45 | 12,15 |
| luigi | 33 | |
| matplotlib | 30 | |
| pandas | 169 | |
| sanic | 5 | 2 |
| scrapy | 40 | |
| spacy | 10 | |
| thefuck | 32 | |
| turnado | 16 | |
| tqdm | 9 | |
| youtube-dl | 43 | |
| All Projects | 501 | 4 |
| All Active Projects | 497 |
- Clone BugsInPy:
git clone https://github.com/IntHelloWorld/BugsInPy.git
- Add BugsInPy executables path:
export PATH=$PATH:<bugsinpy_path>/framework/bin
- set up the python exec for creating virtual environment (conda is recommended):
- You should modify line 101 at
<bugsinpy_path>/framework/bin/bugsinpy-compile
- You should modify line 101 at
| Command | Description |
|---|---|
| info | Get the information of a specific project or a specific bug |
| checkout | Checkout buggy or fixed version project from dataset |
| compile | Compile sources from project that have been checkout |
| test | Run test case that relevant with bug, single-test case from input user, or all test cases from project |
| coverage | Run code coverage analysis from test case that relevant with bug, single-test case from input user, or all test cases |
| mutation | Run mutation analysis from input user or test case that relevant with bug |
| callgraph (new) | Generate method call trace for each failed test case |
| fuzz | Run a test input generation from specific bug |
- Help usage from checkout command:
bugsinpy-checkout --help
- Checkout a buggy source code version (youtube-dl, bug 2, buggy version):
bugsinpy-checkout -p youtube-dl -v 0 -i 2 -w /temp/projects
- Compile sources and tests, and run tests from current directory:
bugsinpy-compilebugsinpy-test
- <NEW FEATURE> Generate method call trace for each failed test case:
bugsinpy-callgraph