Aiding Developer Understanding of Software Changes via Symbolic Execution-based Semantic Differencing
ICSE Doctoral Symposium · 35 of 55 accepted; 7 of 35 selected for oral presentation
Doctoral symposium paper proposing a new equivalence checking approach that goes beyond accuracy — providing richer, developer-oriented descriptions of behavioral differences to better support debugging and program comprehension.
According to a recent observational study, developers spend an average of 48% of their development time on debugging tasks. Approaches such as equivalence checking and fault localization support developers during debugging tasks by providing information that enables developers to more quickly identify and deal with unintended changes in program behavior. The accuracy and runtime performance of these approaches have seen continuous improvements throughout the years. However, the outputs of existing tools are often difficult to understand for developers due to a lack of context information and result explanations. Our goal is to improve upon this issue by developing a new equivalence checking approach that (i) is at least as accurate as existing approaches but (ii) provides more detailed descriptions of identified behavioral / semantic differences and (iii) presents these results in a way that is useful for developers, thus aiding developer understanding of equivalence checking results and corresponding software changes.
- Talk ICSE Doctoral Symposium , Lisbon, Portugal (2024)