Towards Tree Automata-based Success Types
Robert Jakob, Peter Thiemann

TL;DR
This paper introduces an advanced static analysis method using tree automata and model checking to improve success typings in dynamic languages, addressing limitations of previous approaches like Lindahl and Sagonas' success typings.
Contribution
It extends pattern-matching recursion schemes with context-aware ranked tree automata to enhance success typing detection in a constructor-based language.
Findings
Improved detection of nested tuple errors
Enhanced success typings for recursive patterns
Addresses limitations of previous success typing approaches
Abstract
Error detection facilities for dynamic languages are often based on unit testing. Thus, the advantage of rapid prototyping and flexibility must be weighed against cumbersome and time consuming test suite development. Lindahl and Sagonas' success typings provide a means of static must-fail detection in Erlang. Due to the constraint-based nature of the approach, some errors involving nested tuples and recursion cannot be detected. We propose an approach that uses an extension of model checking for pattern-matching recursion schemes with context-aware ranked tree automata to provide improved success typings for a constructor-based first-order prototype language.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Software Testing and Debugging Techniques · Formal Methods in Verification
