The program dependence web: a representation supporting control-, data-, and demand-driven interpretation of imperative languages | Synapse