Semantics-based program integration: illustrating interference in interfering versions of programs