Skip to content

Static analysis tool to slice python programs

License

Notifications You must be signed in to change notification settings

thisismyrobot/programslice

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Motivation

I would like to see what statements depend on a given statement. For debugging it is sometimes very helpful to focus on the important parts of a program.

More information can be found here:

http://en.wikipedia.org/wiki/Program_slicing

Note

The current implementation does not provide Weiser-style slicing as described on Wikipedia. It is a goal to support it though.

Disclaimer

An educational project of mine. I'm not sure how I go with this, as it is new territory for me.

Development

The project is hosted on github:

https://github.com/romanofski/programslice

Documentation is available on:

http://programslice.readthedocs.org/

Screenshots are at:

http://programslice.readthedocs.org/en/latest/screenshots.html

TODO

The current implementation is a prototype in every direction.

Slicing - Increase Precision

The slicing is currently very dumb. It builds a graph based on variable occurrences. The line numbers are the edges. This has it's dis-advantages. It's good to explore the vim integration possibilities.

Slicing - Increase Slicing Quality

By increasing precision, we could improve the slicing quality.

VIM Integration

The vim integration is currently a prototype. I'd like to use it from early on to explore the possibilities. Please see vim-integration for more details.

Credits

This work would not be possible without:

About

Static analysis tool to slice python programs

Resources

License

Stars

Watchers

Forks

Packages

No packages published