changedistiller

This project is a fork from https://bitbucket.org/gustavoasoares/saferefactor.

Safe Refactor is a tool for checking behavioral changes. First, it checks for compilation errors in the resulting program, and reports those errors; if no errors are found, it analyzes the results and generates a number of tests suited for detecting behavioral changes.

Safe Refactor identifies the methods with matching signature (methods with exactly the same modifier, return type, qualified name, parameter types and exceptions thrown) before and after the transformation. Next, it applies Randoop, a Java unit test generator, to produce a test suite for those methods. Randoop randomly generates tests for a set of methods given a time limit. Finally, it runs the tests before and after the transformation, and evaluates the results. If results are divergent, the tool reports a behavioral change, and displays the set of unsuccessful tests.