The use of program dependence graphs in software engineering | Synapse