Introduction to code commit process

Abstract

In collaborative software development, different developers work independently for respective tasks, which increases the development productivity. However, this process sometimes exhibits inefficiencies. Each time a programmer submits code changes, they are required to attach a commit message. Besides, merge conflicts may emerge when distinct developers modify identical sections of the code. Therefore, automating the generation of commit messages and resolving merge conflicts could substantially improve developers’ efficiency. We first conduct an empirical study of existing code commit techniques and propose a novel evaluation perspective, namely patterns. Subsequently, faced with the found problems, for commit message generation, we propose a fine-grained Abstract Syntax Tree (AST) to represent code changes. This representation captures the edit operations between the old and new versions, which can help models understand the key parts of code changes. Additionally, for merge conflict resolution, we propose to produce resolutions by generation instead of relying on classification, as done in prior techniques. In addition to the previous work, we will present our recent progress in merge conflict resolution. Existing techniques suffer from an unclear problem definition and a lack of clarity regarding which kind of resolutions should be produced. Consequently, we aim to provide a precise definition of this problem and propose reliable techniques based on this clarified understanding.

Date
Feb 6, 2024 2:00 PM — 3:00 PM
Event
Weekly Talk
Location
NUS SoC