English

SCALAR: A Part-of-speech Tagger for Identifiers

Software Engineering 2025-04-25 v1 Computation and Language

Abstract

The paper presents the Source Code Analysis and Lexical Annotation Runtime (SCALAR), a tool specialized for mapping (annotating) source code identifier names to their corresponding part-of-speech tag sequence (grammar pattern). SCALAR's internal model is trained using scikit-learn's GradientBoostingClassifier in conjunction with a manually-curated oracle of identifier names and their grammar patterns. This specializes the tagger to recognize the unique structure of the natural language used by developers to create all types of identifiers (e.g., function names, variable names etc.). SCALAR's output is compared with a previous version of the tagger, as well as a modern off-the-shelf part-of-speech tagger to show how it improves upon other taggers' output for annotating identifiers. The code is available on Github

Keywords

Cite

@article{arxiv.2504.17038,
  title  = {SCALAR: A Part-of-speech Tagger for Identifiers},
  author = {Christian D. Newman and Brandon Scholten and Sophia Testa and Joshua A. C. Behler and Syreen Banabilah and Michael L. Collard and Michael J. Decker and Mohamed Wiem Mkaouer and Marcos Zampieri and Eman Abdullah AlOmar and Reem Alsuhaibani and Anthony Peruma and Jonathan I. Maletic},
  journal= {arXiv preprint arXiv:2504.17038},
  year   = {2025}
}