CoDocBench: A Dataset for Code-Documentation Alignment in Software Maintenance
This addresses the need for better tools in software maintenance by providing a dataset for training and evaluating models on code-documentation alignment tasks, though it is incremental as it focuses on dataset creation rather than a new method.
The authors tackled the problem of aligning code and documentation for software maintenance by creating CoDocBench, a large dataset mined from GitHub commits where code and docstrings changed together, and found that current large language models like Llama-3.1 405B and Mixtral 8×22B struggle with these tasks.
One of the central tasks in software maintenance is being able to understand and develop code changes. Thus, given a natural language description of the desired new operation of a function, an agent (human or AI) might be asked to generate the set of edits to that function to implement the desired new operation; likewise, given a set of edits to a function, an agent might be asked to generate a changed description, of that function's new workings. Thus, there is an incentive to train a neural model for change-related tasks. Motivated by this, we offer a new, "natural", large dataset of coupled changes to code and documentation mined from actual high-quality GitHub projects, where each sample represents a single commit where the code and the associated docstring were changed together. We present the methodology for gathering the dataset, and some sample, challenging (but realistic) tasks where our dataset provides opportunities for both learning and evaluation. We find that current models (specifically Llama-3.1 405B, Mixtral 8$\times$22B) do find these maintenance-related tasks challenging.