Automating The Detection and Resolution of Build Conflicts in Software Merge for Java Programs

dc.contributor.authorTowqir, Sheikh Shadaben
dc.contributor.committeechairMeng, Naen
dc.contributor.committeememberGulzar, Muhammad Alien
dc.contributor.committeememberServant Cortes, Francisco Javieren
dc.contributor.committeememberTilevich, Elien
dc.contributor.committeememberHe, Feien
dc.contributor.departmentComputer Science and#38; Applicationsen
dc.date.accessioned2026-01-15T09:01:42Zen
dc.date.available2026-01-15T09:01:42Zen
dc.date.issued2026-01-14en
dc.description.abstractVersion 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.abstractgeneralVersion 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.degreeDoctor of Philosophyen
dc.format.mediumETDen
dc.identifier.othervt_gsexam:45596en
dc.identifier.urihttps://hdl.handle.net/10919/140818en
dc.language.isoenen
dc.publisherVirginia Techen
dc.rightsCreative Commons Attribution 4.0 Internationalen
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/en
dc.subjectSoftware Mergeen
dc.subjectBuild Conflicten
dc.subjectStatic Analysisen
dc.subjectPattern Matchingen
dc.subjectProgram Transformationen
dc.subjectLarge Language Models (LLMs)en
dc.titleAutomating The Detection and Resolution of Build Conflicts in Software Merge for Java Programsen
dc.typeDissertationen
thesis.degree.disciplineComputer Science & Applicationsen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.leveldoctoralen
thesis.degree.nameDoctor of Philosophyen

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Towqir_S_D_2026.pdf
Size:
1.91 MB
Format:
Adobe Portable Document Format