DeepAI AI Chat
Log In Sign Up

A Language Model of Java Methods with Train/Test Deduplication

by   Chia-Yi Su, et al.

This tool demonstration presents a research toolkit for a language model of Java source code. The target audience includes researchers studying problems at the granularity level of subroutines, statements, or variables in Java. In contrast to many existing language models, we prioritize features for researchers including an open and easily-searchable training set, a held out test set with different levels of deduplication from the training set, infrastructure for deduplicating new examples, and an implementation platform suitable for execution on equipment accessible to a relatively modest budget. Our model is a GPT2-like architecture with 350m parameters. Our training set includes 52m Java methods (9b tokens) and 13m StackOverflow threads (10.5b tokens). To improve accessibility of research to more members of the community, we limit local resource requirements to GPUs with 16GB video memory. We provide a test set of held out Java methods that include descriptive comments, including the entire Java projects for those methods. We also provide deduplication tools using precomputed hash tables at various similarity thresholds to help researchers ensure that their own test examples are not in the training set. We make all our tools and data open source and available via Huggingface and Github.


page 1

page 2

page 3

page 4


The test set for the TransCoder system

The TransCoder system translates source code between Java, C++, and Pyth...

The Java Build Framework: Large Scale Compilation

Large repositories of source code for research tend to limit their utili...

On Tracking Java Methods with Git Mechanisms

Method-level historical information is useful in research on mining soft...

Executable Trigger-Action Comments

Natural language elements, e.g., todo comments, are frequently used to c...

Test Smell Detection Tools: A Systematic Mapping Study

Test smells are defined as sub-optimal design choices developers make wh...

AgentSims: An Open-Source Sandbox for Large Language Model Evaluation

With ChatGPT-like large language models (LLM) prevailing in the communit...

Java Card Virtual Machine Memory Organization: a Design Proposal

The Java Card Virtual Machine (JCVM) platform is widely deployed on secu...