Skip to content (access key 's')
Logo of Technion
Logo of CS Department
Events

The Taub Faculty of Computer Science Events and Talks

“What Led to this Change?” Organizing Code Diffs Using Semantic Information
event speaker icon
Noam Har tuv (M.Sc. Thesis Seminar)
event date icon
Monday, 16.11.2026, 12:30
event location icon
Taub 401
event speaker icon
Advisor: Dr. Hila Peleg

Inspecting code changes in source-control commits is an important task for developers. Professional best practice is to maintain a “compiling-commit” policy, where each commit is buildable. In practice, a single change can introduce cascading changes that must be committed together to keep the project compiling. Such commits are unwieldy to navigate and laborintensive to understand, especially in the commonly used line diff tools that present them as deletions from the old version and additions to the new version. We present Diffmagic, a new algorithm and interface that leverages the compiling-commit policy to organize diffs according to causality. Since commits must remain buildable, changes to a definition lead to changes to its uses, forming a causal structure that Diffmagic uses to find change batches, i.e., changes with a shared root cause. Diffmagic uses semantic information from running just the compiler’s front-end, on only the changed files (i.e., it requires neither full compilation nor whole-project analysis) to recover these use-definition  connections that imply the causality. Within each change batch, Diffmagic assigns a causality score to prioritize changes that are likely to trigger other downstream changes. A user study with 14 participants performing two tasks on realworld commits suggests that Diffmagic makes diffs easier to understand and helps users complete diff inspection tasks faster.