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

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

לנפות אל הקיום באמצעות סינתזת תוכנה
event speaker icon
שי סגל (הרצאה סמינריונית למגיסטר)
event date icon
יום שני, 07.07.2025, 13:30
event location icon
חדר 601
event speaker icon
מנחה: Dr. Hila Peleg

When modifying an existing codebase to handle new functionality, programmers will often debug the program until the insertion point for the new code.
This method, termed Debugging into Existence, helps programmers familiarize themselves with the surrounding code and runtime state. Despite its real-world usage, it is limited by the inability to test potential code past the first time the location is called, since added functionality would change the future state making it irrelevant.

Prior work has pioneered Live Execution over partial programs, with extensions using the provided values for synthesis by Programming by Example. In this work, we present DeSynt, a debugger extension that integrates live execution and program synthesis to extend the Debugging into Existence interaction model. DeSynt grants programmers meaningful run-time information across many executions, by allowing them to manipulate program state according to the desired functionality. Based on the state provided by the programmer, DeSynt then synthesizes programs that capture this functionality. We evaluated DeSynt in a between-subjects study on 10 users, and found that in tasks that do not involve complex fault localization, DeSynt reduces time to completion and concentrates programmer effort into fewer code locations. In addition, we found that users that used DeSynt spent more of their task time debugging, indicating DeSynt supports Debugging into Existence for those that already use it.