“…There are multiple approaches that create evolution histories via a sequence of applied operations: Operation-based VCSs [20,21] store evolution in version-control system by capturing the modifications that were performed instead of the state resulting from those modifications. Change-oriented programming [22] uses change objects synthesized from applied operations to represent evolutionary modifications on implementation artifacts.…”