Automating The Detection and Resolution of Build Conflicts in Software Merge for Java Programs
| dc.contributor.author | Towqir, Sheikh Shadab | en |
| dc.contributor.committeechair | Meng, Na | en |
| dc.contributor.committeemember | Gulzar, Muhammad Ali | en |
| dc.contributor.committeemember | Servant Cortes, Francisco Javier | en |
| dc.contributor.committeemember | Tilevich, Eli | en |
| dc.contributor.committeemember | He, Fei | en |
| dc.contributor.department | Computer Science and#38; Applications | en |
| dc.date.accessioned | 2026-01-15T09:01:42Z | en |
| dc.date.available | 2026-01-15T09:01:42Z | en |
| dc.date.issued | 2026-01-14 | en |
| dc.description.abstract | Version control systems (VCS) like Git provide an efficient environment for collaborative software development. However, a major challenge of using such systems is the conflicts that occur when developers try to merge branches. This research focuses on build conflicts--a category of higher-order software merge conflicts. The goal of our research is to develop and implement methodologies that automate the detection and resolution process of build conflicts. Our research consists of three pieces. First, we designed and implemented a graph-based pattern matching approach, BUCOND (Build Conflict Detector), to detect conflicts via static analysis. Our evaluation shows that BUCOND accurately identified build conflicts on both synthetic and real-world datasets; it demonstrated great applicability in scenarios where compiler-based tools are inapplicable. Second, we created a hybrid program transformation approach, BuCoR (Build Conflict Resolver), to opportunistically resolve conflicts. We evaluated BuCoR in real-world merging scenarios, observing its great capabilities of generating syntactically correct resolutions and mimicking human developers' resolution practices. Third, we explored a new approach of resolving conflicts using LLMs, and empirically compared the usage of different LLMs as well as diverse prompt designs. We demonstrate that, when properly guided, LLMs can provide highly accurate conflict resolutions. Our research will help developers detect conflicts more efficiently and resolve conflicts with higher effectiveness as well as rigor. Through addressing issues caused by merge conflicts, it will help improve programmer productivity and software reliability. | en |
| dc.description.abstractgeneral | Version Control Systems (VCS) like Git are essential for team-based software development but often struggle with merge conflicts. One complex category of such conflicts is build conflicts. This research aims to make it easier to detect and resolve these conflicts automatically. First, BUCOND, a graph-based tool, has been developed to identify build conflicts, even in scenarios where traditional methods may fail. Second, BuCoR, a program modification tool, has been created to provide automated fix suggestions for build conflicts, often matching what a human developer might do. Third, we investigate the use of Large Language Models (LLMs) for the purpose of build conflict resolution. By advancing the understanding and automation of these processes, this research work aims to improve the efficiency and reliability of collaborative software development. | en |
| dc.description.degree | Doctor of Philosophy | en |
| dc.format.medium | ETD | en |
| dc.identifier.other | vt_gsexam:45596 | en |
| dc.identifier.uri | https://hdl.handle.net/10919/140818 | en |
| dc.language.iso | en | en |
| dc.publisher | Virginia Tech | en |
| dc.rights | Creative Commons Attribution 4.0 International | en |
| dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | en |
| dc.subject | Software Merge | en |
| dc.subject | Build Conflict | en |
| dc.subject | Static Analysis | en |
| dc.subject | Pattern Matching | en |
| dc.subject | Program Transformation | en |
| dc.subject | Large Language Models (LLMs) | en |
| dc.title | Automating The Detection and Resolution of Build Conflicts in Software Merge for Java Programs | en |
| dc.type | Dissertation | en |
| thesis.degree.discipline | Computer Science & Applications | en |
| thesis.degree.grantor | Virginia Polytechnic Institute and State University | en |
| thesis.degree.level | doctoral | en |
| thesis.degree.name | Doctor of Philosophy | en |
Files
Original bundle
1 - 1 of 1