1. A method for evaluating at least one property of a software program given one or more changes to said software program, said method comprising the steps of: identifying nodes in a derivation graph corresponding to changed edges in a control flow graph representation of said software program, wherein said derivation graph describes an earlier evaluation of said software program; and updating at least one of said identified nodes in said derivation graph and traversing said derivation graph outward from a location of a change.