Thu 24 Oct 2024 16:00 - 16:25 at Pacific - Onward! Papers Chair(s): Oscar Nierstrasz

Traditional, or concrete, debuggers allow developers to step through programs and explore the corresponding concrete program states—developers can query (and modify) current values of program variables. This exploration enables developers to formulate and refine hypotheses about program behaviors. We propose the novel notion of \emph{abstract debuggers}, which allow developers to explore abstract program states, as computed by sound static analyzers. Giving developers the ability to interactively explore abstract states (which encompass the program’s potential concrete states) empowers them to work with hypotheses that are true for all program executions: they can examine and rule out false positives, or better understand a static analysis’s declaration that some code is indeed safe. Abstract debuggers’ interfaces, reminiscent of conventional debuggers, aim to make navigating and interpreting static analysis results more straightforward. We have formalized the concept, applied it by implementing a tool that leverages the static analyzer Goblint, and illustrate its usefulness through case studies.

Thu 24 Oct

Displayed time zone: Pacific Time (US & Canada) change

16:00 - 17:40
Onward! PapersOnward! Papers at Pacific
Chair(s): Oscar Nierstrasz feenk.com
16:00
25m
Talk
Abstract Debuggers: Exploring Program Behaviors Using Static Analysis Results
Onward! Papers
Karoliine Holter University of Tartu, Estonia, Juhan Oskar Hennoste University of Tartu, Patrick Lam University of Waterloo, Simmo Saan University of Tartu, Estonia, Vesal Vojdani University of Tartu
DOI
16:30
25m
Talk
Scimitar: Functional Programs as Optimization Problems
Onward! Papers
Nate Bragg Tufts University, Jeffrey S. Foster Tufts University, Philip Zucker Draper
DOI
17:00
25m
Talk
Software Engineering Methods For AI-Driven Deductive Legal Reasoning
Onward! Papers
Rohan Padhye Carnegie Mellon University
DOI Pre-print