Software Open Access
The artifact concerns LFA checker, the compositional typestate analysis tool described and presented in our iFM 2022 paper.
The artifact includes the tool, together with a script that automates all evaluation results presented in the paper.
Based on the new Bit-vector Finite Automata (BFA), LFA checker is implemented in the Infer static analyzer. The compiled Infer includes the following checkers:
1. LFA checker,
2. Infer's TOPL checker, and
3. DFA Checker, our own implementation of compositional typestate analysis, based on Deterministic Finite Automata (DFA), which we use as a baseline for comparisons.
The provided script:
* Invokes BFA, DFA, and TOPL checkers on Java test programs
* Performs all experiments, and
* Produces the graphs and tables data presented in the paper (Figures 4 and 5).
Concretely, the script produces: (1) runtime comparison graphs (BFA vs DFA and BFA vs TOPL) on provided Java client programs and (2) counts atomic annotations of BFA, DFA, and TOPL contracts.