License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2022.28
URN: urn:nbn:de:0030-drops-162560
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2022/16256/
Go to the corresponding LIPIcs Volume Portal


Stadelmeier, Andreas ; Plümicke, Martin ; Thiemann, Peter

Global Type Inference for Featherweight Generic Java

pdf-format:
LIPIcs-ECOOP-2022-28.pdf (1 MB)


Abstract

Java’s type system mostly relies on type checking augmented with local type inference to improve programmer convenience.
We study global type inference for Featherweight Generic Java (FGJ), a functional Java core language. Given generic class headers and field specifications, our inference algorithm infers all method types if classes do not make use of polymorphic recursion. The algorithm is constraint-based and improves on prior work in several respects. Despite the restricted setting, global type inference for FGJ is NP-complete.

BibTeX - Entry

@InProceedings{stadelmeier_et_al:LIPIcs.ECOOP.2022.28,
  author =	{Stadelmeier, Andreas and Pl\"{u}micke, Martin and Thiemann, Peter},
  title =	{{Global Type Inference for Featherweight Generic Java}},
  booktitle =	{36th European Conference on Object-Oriented Programming (ECOOP 2022)},
  pages =	{28:1--28:27},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-225-9},
  ISSN =	{1868-8969},
  year =	{2022},
  volume =	{222},
  editor =	{Ali, Karim and Vitek, Jan},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/opus/volltexte/2022/16256},
  URN =		{urn:nbn:de:0030-drops-162560},
  doi =		{10.4230/LIPIcs.ECOOP.2022.28},
  annote =	{Keywords: type inference, Java, subtyping, generics}
}

Keywords: type inference, Java, subtyping, generics
Collection: 36th European Conference on Object-Oriented Programming (ECOOP 2022)
Issue Date: 2022
Date of publication: 23.06.2022
Supplementary Material: Source code for the accompaning prototype implementation
Software (Source Code): https://github.com/JanUlrich/FeatherweightTypeInference archived at: https://archive.softwareheritage.org/swh:1:dir:dbbfa3ad5db1b423c098c392af1d4b720db93e0e
Software (ECOOP 2022 Artifact Evaluation approved artifact): https://doi.org/10.4230/DARTS.8.2.18


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI