Error Localization for Sequential Effect Systems
We describe a new concrete approach to giving predictable and useful error locations for sequential (flow-sensitive) effect systems. Prior implementations of sequential effect systems rely on either computing a bottom-up effect and comparing it to a declaration (e.g., method annotation) or leaning on constraint-based type inference. These approaches both give errors at locations or granularities far removed from where a mistake might have been made.
Instead of relying on constraint solving, we draw on the notion of a residual from work on ordered algebraic structures. Applying these to effect quantales (a large class of sequential effect systems) yields an implementation approach which accepts exactly the same program as an original effect quantale, but for effect-incorrect programs is guaranteed to fail type-checking with predictable error locations tied to the earliest point in evaluation order where the program would definitely violate its specification. We have implemented this idea in a generic effect system implementation framework for Java, and report on experiences applying effect systems from the literature effect systems to Java programs. We find that the reported error locations with our technique are significantly closer to the program points that lead to failed effect checks.
Mon 23 OctDisplayed time zone: Lisbon change
14:00 - 15:30 | |||
14:00 30mTalk | Error Invariants for Fault Localization via Abstract Interpretation SAS 2023 Aleksandar S. Dimovski Mother Teresa University, Skopje Pre-print File Attached | ||
14:30 30mTalk | Error Localization for Sequential Effect Systems SAS 2023 Link to publication Pre-print | ||
15:00 30mTalk | Scaling up Roundoff Analysis of Functional Data Structure Programs SAS 2023 Pre-print |