Type-based Enforcement of Infinitary Trace Properties for Java
Serdar Erbatur, Ulrich Sch\"opp, Chuangjie Xu

TL;DR
This paper introduces a region-based type and effect system for Featherweight Java that enforces guidelines on both finite and infinite execution traces, including non-terminating programs, using automata-based inference.
Contribution
It refines existing type systems to handle infinite traces and extends enforcement capabilities to non-terminating programs in Featherweight Java.
Findings
Successfully captures infinite traces using greatest fixed points.
Type inference leverages Büchi automata for finitary abstraction.
Enables enforcement of guidelines for non-terminating Java programs.
Abstract
A common approach to improve software quality is to use programming guidelines to avoid common kinds of errors. In this paper, we consider the problem of enforcing guidelines for Featherweight Java (FJ). We formalize guidelines as sets of finite or infinite execution traces and develop a region-based type and effect system for FJ that can enforce such guidelines. We build on the work by Erbatur, Hofmann and Z\u{a}linescu, who presented a type system for verifying the finite event traces of terminating FJ programs. We refine this type system, separating region typing from FJ typing, and use ideas of Hofmann and Chen to extend it to capture also infinite traces produced by non-terminating programs. Our type and effect system can express properties of both finite and infinite traces and can compute information about the possible infinite traces of FJ programs. Specifically, the set of…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Software Engineering Research
