--- language: - code metrics: - perplexity library_name: transformers pipeline_tag: fill-mask tags: - MLM --- # Model Card for Model ID A BERT-like model pre-trained on Java buggy code. ## Model Details ### Model Description A BERT-like model pre-trained on Java buggy code. - **Developed by:** André Nascimento - **Shared by:** Hugging Face - **Model type:** Fill-Mask - **Language(s) (NLP):** Java (EN) - **License:** [More Information Needed] - **Finetuned from model:** [BERT Base Uncased](https://huggingface.co/bert-base-cased) ## Uses ### Direct Use Fill-Mask. ### Downstream Use [optional] The model can be used for other tasks, like Text Classification. ### Out-of-Scope Use [More Information Needed] ## Bias, Risks, and Limitations [More Information Needed] ### Recommendations Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. ## How to Get Started with the Model Use the code below to get started with the model. ```python from transformers import pipeline unmasker = pipeline('fill-mask', model='bert-java-bfp_single') unmasker(java_code) # Replace with Java code; Use '[MASK]' to mask tokens/words in the code. ``` [More Information Needed] ## Training Details ### Training Data The model was trained on 236040 Java methods, containing the code before and after the bug fix was applied. The whole dataset was built from [Extracted Bug-Fix Pairs (BFP)](https://sites.google.com/view/learning-fixes/data#h.p_RNvM6OfOYBMI), extracting single file/single method commits, and keeping only method with less than 512 tokens. An 80/20 train/validation split was applied afterwards. ### Training Procedure #### Preprocessing [optional] Remove comments and replace consecutive whitespace characters by a single space. #### Training Hyperparameters - **Training regime:** fp16 mixed precision #### Speeds, Sizes, Times [optional] [More Information Needed] ## Evaluation ### Testing Data, Factors & Metrics #### Testing Data The model was evaluated on 59024 Java methods, from the 20% split of the dataset mentioned in [Training Data](#training-data) [More Information Needed] #### Factors [More Information Needed] #### Metrics Perplexity ### Results 1.73 #### Summary ## Model Examination [optional] [More Information Needed] ## Environmental Impact Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). - **Hardware Type:** [More Information Needed] - **Hours used:** [More Information Needed] - **Cloud Provider:** [More Information Needed] - **Compute Region:** [More Information Needed] - **Carbon Emitted:** [More Information Needed] ## Technical Specifications [optional] ### Model Architecture and Objective [More Information Needed] ### Compute Infrastructure [More Information Needed] #### Hardware [More Information Needed] #### Software [More Information Needed] ## Citation [optional] **BibTeX:** [More Information Needed] **APA:** [More Information Needed] ## Glossary [optional] [More Information Needed] ## More Information [optional] [More Information Needed] ## Model Card Authors [optional] [More Information Needed] ## Model Card Contact [More Information Needed]