Derive runs a sequential list of sound change rules against a test suite. E.g., you could input a list of sound changes that Proto-Indo-European words are hypothesized to have undergone on the way to Proto-Germanic; input pairs of PIE and PG words; then see if the rules will correctly change the PIE words into the PG words. After each rule, if there is a change, Derive will print out the new form and the name of the rule.
Derive is a Perl 5.004 program, and should be considered pre-release, but comments and suggestions are welcome. Currently available are the Perl module source code, an example program which implements Prokosch's analysis of the suite of changes that took place between Proto-Indo-European and Proto-Germanic, and the results of running that program.