Skip to content

IntHelloWorld/BugsInPy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BugsInPy (Verified)

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.

Note

This project is forked from https://github.com/soarsmu/BugsInPy We carefully verified each bug and fixed some bugs in the original BugsInPy benchmark.

Bugs Status

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

Steps to set up BugsInPy

  1. Clone BugsInPy:
    • git clone https://github.com/IntHelloWorld/BugsInPy.git
  2. Add BugsInPy executables path:
    • export PATH=$PATH:<bugsinpy_path>/framework/bin
  3. set up the python exec for creating virtual environment (conda is recommended):
    • You should modify line 101 at <bugsinpy_path>/framework/bin/bugsinpy-compile

BugsInPy Command

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

Example BugsInPy Command

  • 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-compile
    • bugsinpy-test
  • <NEW FEATURE> Generate method call trace for each failed test case:
    • bugsinpy-callgraph

About

BugsInPy: Benchmarking Bugs in Python Projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 99.7%
  • Python 0.3%