Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This conference talk presents a type-theoretic framework for reasoning about incorrectness in functional programs that interact with effectful, opaque library APIs. Explore how researchers from Purdue University use traces—temporally-ordered sequences of library API invocations—to characterize both the preconditions of individual APIs and their composite behavior. Learn about their novel approach using symbolic regular expressions (SREs) to formally specify incorrect abstract data type behaviors across function boundaries. Discover the core contribution: a type inference algorithm that operates modulo specified incorrectness properties and leverages symbolic finite automata representations for compositional reasoning of traces. Understand how this represents the first systematic approach to underapproximate reasoning against trace-based incorrectness specifications, enabling a new form of trace-guided compositional analysis. This 17-minute presentation was delivered at the Theory and Practice of Static Analysis workshop on January 21, 2025, sponsored by ACM SIGPLAN.