A Lightweight Technique for Detecting Semantic Conflicts with Static Analysis

preprint OA: closed
Full text JSON View at publisher

Abstract

Version control system tools empower developers to independently work on their development tasks. These tools also facilitate the integration of changes through merging operations, and report textual conflicts. However, when developers integrate their changes, they might encounter other types of conflicts that are not detected by current merge tools. In this paper, we focus on detecting dynamic semantic conflicts, which occur when a merging scenario does not lead to textual conflicts but results in undesired interference---causing unexpected program behavior at runtime. To address this issue, we propose a lightweight technique that explores the use of static analysis to detect interference when merging contributions from two developers. We evaluate our technique using a dataset of 99 experimental units we curated from merge scenarios of GitHub projects. The results provide evidence that our technique presents significant interference detection capability. It outperforms, in terms of F1-score and recall, techniques that rely on testing-based analysis, but these show better precision. Our technique precision is comparable to the ones observed in other studies that leverage static analysis or theorem proving to detect semantic conflicts, albeit with significantly improved execution performance. Our technique often takes less than a minute to analyze a merge scenario, while other static and dynamic analysis techniques often take tens of minutes or hours to complete the same task.
Full text 6,876 characters · extracted from preprint-html · click to expand
A Lightweight Technique for Detecting Semantic Conflicts with Static Analysis | Authorea try { document.documentElement.classList.add('js'); } catch (e) { } var _gaq = _gaq || []; _gaq.push(['_setAccount', 'G-8VDV14Y67G']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); Skip to main content Preprints Collections Wiley Open Research IET Open Research Ecological Society of Japan All Collections About About Authorea FAQs Contact Us Quick Search anywhere Search for preprint articles, keywords, etc. Search Search ADVANCED SEARCH SCROLL This is a preprint and has not been peer reviewed. Data may be preliminary. 11 March 2025 V1 Latest version Share on A Lightweight Technique for Detecting Semantic Conflicts with Static Analysis Authors : Galileu Santos de Jesus [email protected] , Paulo Borba , Rodrigo Bonifácio 0000-0002-2380-2829 , and Matheus Barbosa de Oliveira Authors Info & Affiliations https://doi.org/10.22541/au.174166923.34540658/v1 183 views 145 downloads Contents Abstract Supplementary Material Information & Authors Metrics & Citations View Options References Figures Tables Media Share Abstract Version control system tools empower developers to independently work on their development tasks. These tools also facilitate the integration of changes through merging operations, and report textual conflicts. However, when developers integrate their changes, they might encounter other types of conflicts that are not detected by current merge tools. In this paper, we focus on detecting dynamic semantic conflicts, which occur when a merging scenario does not lead to textual conflicts but results in undesired interference---causing unexpected program behavior at runtime. To address this issue, we propose a lightweight technique that explores the use of static analysis to detect interference when merging contributions from two developers. We evaluate our technique using a dataset of 99 experimental units we curated from merge scenarios of GitHub projects. The results provide evidence that our technique presents significant interference detection capability. It outperforms, in terms of F1-score and recall, techniques that rely on testing-based analysis, but these show better precision. Our technique precision is comparable to the ones observed in other studies that leverage static analysis or theorem proving to detect semantic conflicts, albeit with significantly improved execution performance. Our technique often takes less than a minute to analyze a merge scenario, while other static and dynamic analysis techniques often take tens of minutes or hours to complete the same task. Supplementary Material File (main.pdf) Download 2.52 MB Information & Authors Information Version history V1 Version 1 11 March 2025 Copyright This work is licensed under a Non Exclusive No Reuse License. Keywords configuration management interference software evolution software merging static analysis Authors Affiliations Galileu Santos de Jesus [email protected] Universidade Federal de Pernambuco Centro de Informatica View all articles by this author Paulo Borba Universidade Federal de Pernambuco Centro de Informatica View all articles by this author Rodrigo Bonifácio 0000-0002-2380-2829 Universidade de Brasilia View all articles by this author Matheus Barbosa de Oliveira Universidade Federal de Pernambuco Centro de Informatica View all articles by this author Metrics & Citations Metrics Article Usage 183 views 145 downloads .FvxKWukQNSOunydq8rnd { width: 100px; } Citations Download citation Galileu Santos de Jesus, Paulo Borba, Rodrigo Bonifácio, et al. A Lightweight Technique for Detecting Semantic Conflicts with Static Analysis. Authorea . 11 March 2025. DOI: https://doi.org/10.22541/au.174166923.34540658/v1 If you have the appropriate software installed, you can download article citation data to the citation manager of your choice. Simply select your manager software from the list below and click Download. For more information or tips please see 'Downloading to a citation manager' in the Help menu . Format Please select one from the list RIS (ProCite, Reference Manager) EndNote BibTex Medlars RefWorks Direct import Tips for downloading citations document.getElementById('citMgrHelpLink').addEventListener('click', function() { popupHelp(this.href); return false; }); $(".js__slcInclude").on("change", function(e){ if ($(this).val() == 'refworks') $('#direct').prop("checked", false); $('#direct').prop("disabled", ($(this).val() == 'refworks')); }); View Options View options PDF View PDF Figures Tables Media Share Share Share article link Copy Link Copied! Copying failed. Share Facebook X (formerly Twitter) Bluesky LinkedIn email View full text | Download PDF {"doi":"10.22541/au.174166923.34540658/v1","type":"Article"} Now Reading: Share Figures Tables Close figure viewer Back to article Figure title goes here Change zoom level Go to figure location within the article Download figure Toggle share panel Toggle share panel Share Toggle information panel Toggle information panel Go to previous graphic Go to next graphic Go to previous table Go to next table All figures All tables View all material View all material xrefBack.goTo xrefBack.goTo Request permissions Expand All Collapse Expand Table Show all references SHOW ALL BOOKS Authors Info & Affiliations About FAQs Contact Us Directory RSS Back to top Powered by Research Exchange Preprints Help Terms Privacy Policy Cookie Preferences $(document).ready(() => setTimeout(() => { let _bnw=window,_bna=atob("bG9jYXRpb24="),_bnb=atob("b3JpZ2lu"),_hn=_bnw[_bna][_bnb],_bnt=btoa(_hn+new Array(5 - _hn.length % 4).join(" ")); $.get("/resource/lodash?t="+_bnt); },4000)); (function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'9ff6c0936ed9dfa9',t:'MTc3OTM5OTc1OQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. This is a recent paper (2025) — citers typically take a year or two to land, and the OpenAlex reference graph may still be filling in.

Source provenance

europepmc
last seen: 2026-05-20T01:45:00.602351+00:00