Explaining and Debugging Pathological Program Behavior
Programs fail. But which part of the input is responsible for the failure? To resolve the issue, developers must first understand how and why the program behaves as it does, notably when it deviates from the expected outcome. A program's behavior is essentially the set of all its executions. This set is usually diverse, unpredictable, and generally unbounded. A pathological program behavior occurs once the actual outcome does not match the expected behavior. Consequently, developers must fix these issues to ensure the built system is the desired software.
In our upcoming research, we want to focus on providing developers with a detailed description of the root causes that resulted in the program's unwanted behavior. Thus, we aim to automatically produce explanations that capture the circumstances of arbitrary program behavior by correlating individual input elements (features) and their corresponding execution outcome.
To this end, we use the scientific method and combine generative and predictive models, allowing us ($i$) to learn the statistical relations between the features of the inputs and the program behavior and ($ii$) to generate new inputs to refine or refute our current explanatory prediction model.
Thu 17 NovDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
14:00 - 15:30 | Session 3Doctoral Symposium at ERC Active Learning Room Chair(s): Michael Pradel University of Stuttgart | ||
14:00 30mTalk | Change-Aware Mutation Testing for Evolving Systems Doctoral Symposium Milos Ojdanic University of Luxembourg DOI | ||
14:30 30mTalk | Effective and Scalable Fault Injection using Bug Reports and Generative Language Models Doctoral Symposium Ahmed Khanfir University of Luxembourg DOI | ||
15:00 30mTalk | Explaining and Debugging Pathological Program Behavior Doctoral Symposium Martin Eberlein Humboldt University of Berlin DOI Pre-print |