Skip to content

tomasraposo/PyDD

Repository files navigation

PyDD

A hybrid algorithmic debugger and program synthesis engine for Python

Repository structure

├── app.py ├── ast_transformer.py ├── coverage.dat ├── coverage.py ├── debugging_strategy.py ├── etnode.py ├── event.py ├── execution_tree.py ├── frontend │ ├── package.json │ ├── package-lock.json │ ├── public │ ├── README.md │ └── src │ ├── App.js │ ├── App.test.js │ ├── ColorModeSwitcher.js │ ├── index.js │ ├── Logo.js │ ├── logo.svg │ ├── reportWebVitals.js │ ├── serviceWorker.js │ ├── setupTests.js │ ├── test-utils.js │ ├── TreeView.js │ └── TreeViewMenu.js ├── grammar.py ├── oracle.py ├── program_repairer.py ├── pydd.py ├── pydd_repl.py ├── query.py ├── README.md ├── server.py ├── trace.dat ├── trace_iterator.py └── tracer.py

Installation

In the frontend directory run:

npm install

Install all dependencies for client-side application.

In the parent (base) directory run:

pip install tornado dill astor pygments rich astor astunparse textwrap

Usage:

./app.py -f ~/Desktop/bug1.py -d heaviest-first -pr bus

CLI
usage: app.py [options] app.py: error: the following arguments are required: -f, -d, -pr OPTIONS -f	target file -i	enable interactive debugging -w	enable web mode -d	debugging strategy -pr	program repair strategy -t	trace file -c	coverage file

Debug commands

class PyDDRepl. do_next(args)

class PyDDRepl. do_prev(args)

class PyDDRepl. do_print(args)

class PyDDRepl. do_break(args)

class PyDDRepl. do_watch(args)

class PyDDRepl. do_remove(args)

class PyDDRepl. do_continue(args)

class PyDDRepl. do_exit(args)

class PyDDRepl. do_list(args)

class PyDDRepl. do_repair(args)

Debugging strategies

class DebuggingStrategy. single_stepping

class DebuggingStrategy. top_down

class DebuggingStrategy. heaviest_first

class DebuggingStrategy. divide_and_query

Program repair strategies

class Grammar. bus

class Grammar. bfs

class Grammar. dfs

About

A hybrid algorithmic debugger and program synthesis engine for Python

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published