A differencing algorithm for object-oriented programs | Synapse