English

Understanding Lua's Garbage Collection -- Towards a Formalized Static Analyzer

Programming Languages 2020-05-28 v1

Abstract

We provide the semantics of garbage collection (GC) for the Lua programming language. Of interest are the inclusion of finalizers(akin to destructors in object-oriented languages) and weak tables (a particular implementation of weak references). The model expresses several aspects relevant to GC that are not covered in Lua's documentation but that, nevertheless, affect the observable behavior of programs. Our model is mechanized and can be tested with real programs. Our long-term goal is to provide a formalized static analyzer of Lua programs to detect potential dangers. As a first step, we provide a prototype tool, LuaSafe, that typechecks programs to ensure their behavior is not affected by GC. Our model of GC is validated in practice by the experimentation with its mechanization, and in theory by proving several soundness properties.

Keywords

Cite

@article{arxiv.2005.13057,
  title  = {Understanding Lua's Garbage Collection -- Towards a Formalized Static Analyzer},
  author = {Mallku Soldevila and Beta Ziliani and Daniel Fridlender},
  journal= {arXiv preprint arXiv:2005.13057},
  year   = {2020}
}

Comments

Submitted for revision to PPDP 2020

R2 v1 2026-06-23T15:50:15.423Z