A software agitation system. The goal is to, given a well-formed Python file and the name of a function it contains, perform a combination of static analysis, dynamic analysis, fuzzing, and virtual execution in order to determine invariants constraining the inputs and outputs of that function.
This was developed as my Major Qualifying Project at Worcester Polytechnic Institute. I produced a paper discussing its implementation and theory in more depth.
https://web.wpi.edu/Pubs/E-project/Available/E-project-042512-235010/