paper-with-me

Papers

CommitBench: A Benchmark for Commit Message Generation

2024-03-08 · Maximilian Schall, Tamara Czinczoll, Gerard de Melo

Writing commit messages is a tedious daily task for many software developers, and often remains neglected. Automating this task has the potential to save time while ensuring that messages are informative. A high-quality dataset and an objective benchmark are vital preconditions for solid research and evaluation towards this goal. We show that existing datasets exhibit various problems, such as the quality of the commit selection, small sample sizes, duplicates, privacy issues, and missing licenses for redistribution. This can lead to unusable models and skewed evaluations, where inferior models achieve higher evaluation scores due to biases in the data. We compile a new large-scale dataset, CommitBench, adopting best practices for dataset creation. We sample commits from diverse projects with licenses that permit redistribution and apply our filtering and dataset enhancements to improve the quality of generated commit messages. We use CommitBench to compare existing models and show that other approaches are outperformed by a Transformer model pretrained on source code. We hope to accelerate future research by publishing the source code( https://github.com/Maxscha/commitbench ).

📄 PDF Abstract BibTeX arXiv:2403.05188

Code (1)

maxscha/commitbench 공식 구현

Methods 이 논문이 사용한 방법론

Attention 설명 없음
Linear Layer A Linear Layer is a projection $\mathbf{XW + b}$.
Dropout Dropout is a regularization technique for neural networks that drops a unit (along with connections) at training time with a specified probability $p$ (a common value is…
Multi-Head Attention 설명 없음
Layer Normalization Unlike batch normalization, Layer Normalization directly estimates the normalization statistics from the summed inputs…
Absolute Position Encodings Absolute Position Encodings are a type of position embeddings for [Transformer-based models] where positional encodings are…
Softmax The Softmax output function transforms a previous layer's output into a vector of probabilities. It is commonly used for multiclass classification. Given an input vector $x$…
Dense Connections Dense Connections, or Fully Connected Connections, are a type of layer in a deep neural network that use a linear operation where every input is connected to every output…

Similar Papers 제목 키워드 기반

RACE: Retrieval-Augmented Commit Message Generation

2022-03-05 · Ensheng Shi, Yanlin Wang, Wei Tao, Lun Du 외

Commit messages are important for software development and maintenance. Many neural network-based approaches have been proposed and shown promising results on automatic commit message generation. However, the generated c…

Information RetrievalRetrievalSemantic SimilaritySemantic Textual Similarity

From Commit Message Generation to History-Aware Commit Message Completion

2023-08-15 · Aleksandra Eliseeva, Yaroslav Sokolov, Egor Bogomolov, Yaroslav Golubev 외

Commit messages are crucial to software development, allowing developers to track changes and collaborate effectively. Despite their utility, most commit messages lack important information since writing high-quality com…

CoreGen: Contextualized Code Representation Learning for Commit Message Generation

2020-07-14 · Lun Yiu Nie, Cuiyun Gao, Zhicong Zhong, Wai Lam 외

Automatic generation of high-quality commit messages for code commits can substantially facilitate software developers' works and coordination. However, the semantic gap between source code and natural language poses a m…

Representation LearningText Generation

Jointly Learning to Repair Code and Generate Commit Message

2021-09-25 · EMNLP 2021 11 · Jiaqi Bai, Long Zhou, Ambrosio Blanco, Shujie Liu 외

We propose a novel task of jointly repairing program codes and generating commit messages. Code repair and commit message generation are two essential and related tasks for software development. However, existing work us…

Code RepairTranslation

CommitBERT: Commit Message Generation Using Pre-Trained Programming Language Model

2021-08-01 · ACL (NLP4Prog) 2021 8 · Tae Hwan Jung

Commit message is a document that summarizes source code changes in natural language. A good commit message clearly shows the source code changes, so this enhances collaboration between developers. Therefore, our work is…

DecoderLanguage ModelingLanguage ModellingMachine Translation+1