A framework for understanding conceptual changes in evolving source code | Synapse