Can Identifier Splitting Improve Open-Vocabulary Language Model of Code?
Jieke Shi, Zhou Yang, Junda He, Bowen Xu, David Lo

TL;DR
This paper investigates whether combining identifier splitting with Byte Pair Encoding can improve open-vocabulary language models for source code, finding that a hybrid approach enhances identifier prediction and model entropy.
Contribution
It introduces a hybrid identifier splitting strategy that, when combined with BPE, outperforms previous models in code completion tasks.
Findings
Hybrid strategy improves identifier recall by 3.68%.
Hybrid approach increases model entropy by 2.02%.
Simply splitting identifiers without combining with BPE hurts performance.
Abstract
Statistical language models on source code have successfully assisted software engineering tasks. However, developers can create or pick arbitrary identifiers when writing source code. Freely chosen identifiers lead to the notorious out-of-vocabulary (OOV) problem that negatively affects model performance. Recently, Karampatsis et al. showed that using the Byte Pair Encoding (BPE) algorithm to address the OOV problem can improve the language models' predictive performance on source code. However, a drawback of BPE is that it cannot split the identifiers in a way that preserves the meaningful semantics. Prior researchers also show that splitting compound identifiers into sub-words that reflect the semantics can benefit software development tools. These two facts motivate us to explore whether identifier splitting techniques can be utilized to augment the BPE algorithm and boost the…
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
TopicsSoftware Engineering Research · Natural Language Processing Techniques · Topic Modeling
