דלג לתוכן (מקש קיצור 's')
אירועים

אירועים והרצאות בפקולטה למדעי המחשב ע"ש הנרי ומרילין טאוב

מה הוביל לשינוי הזה?" ארגון של שינויים בקוד בעזרת מידע סמנטי"
event speaker icon
נועם הר טוב (הרצאה סמינריונית למגיסטר)
event date icon
יום שני, 16.11.2026, 12:30
event location icon
טאוב 401
event speaker icon
מנחה: ד"ר הילה פלג

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.