Write a Blog >>
Wed 12 Oct 2022 10:40 - 11:00 at Banquet B - Technical Session 12 - Builds and Versions Chair(s): Yi Li

During software merge, the edits from different branches can textually overlap (i.e., textual conflicts) or cause build and test errors (i.e., build and test conflicts), jeopardizing programmer productivity and software quality. Existing tools primarily focus on textual conflicts; few tools detect higher-order conflicts (i.e., build and test conflicts). However, existing detectors of build conflicts are quite limited. Due to their heavy usage of automatic build, the build-based detectors (e.g., Crystal) can only report build errors instead of pinpointing the root causes; developers have to manually locate conflicting edits. Furthermore, these detectors only help when the branches-to-merge have no textual conflict.

We present a novel approach Bucond (“build conflict detector”) to detect conflicts via static analysis, instead of using automatic build. Given the three program versions in a merging scenario: base 𝑏, left 𝑙 , and right 𝑟 , Bucond first models each version as a graph, and compares graphs to extract entity-related edits (e.g., rename a class) in 𝑙 and 𝑟 branches. Our insight is that build conflicts occur when certain edits are co-applied to related entities between branches. Bucond realizes this insight via pattern-based reasoning, to identify any cross-branch edit combination that can trigger build conflicts (e.g., one branch adds a reference to field F while the other branch removes F). We conducted a systematic exploration to devise 57 conflicting-edit patterns, covering 97% of total build conflicts in our experiments. We evaluated Bucond with three datasets and Bucond worked effectively on all datasets. It complements existing build-based conflict detectors, as it (1) detects conflicts with 100% precision and 88%–100% recall, (2) pinpoints the conflicting edits, and (3) works well when those detectors are inapplicable.

Wed 12 Oct

Displayed time zone: Eastern Time (US & Canada) change

10:00 - 12:00
Technical Session 12 - Builds and VersionsResearch Papers at Banquet B
Chair(s): Yi Li Nanyang Technological University, Singapore
10:00
20m
Research paper
HyperAST: Enabling Efficient Analysis of Software Histories at ScaleACM SIGSOFT Distinguished Paper Award
Research Papers
Quentin Le-dilavrec Univ. Rennes, IRISA, INRIA, Djamel Eddine Khelladi CNRS, France, Arnaud Blouin Univ Rennes, INSA Rennes, Inria, CNRS, IRISA, Jean-Marc Jézéquel Univ Rennes - IRISA
10:20
20m
Research paper
Has My Release Disobeyed Semantic Versioning? Static Detection Based On Semantic DifferencingACM SIGSOFT Distinguished Paper Award
Research Papers
Lyuye Zhang Nanyang Technological University, Chengwei Liu Nanyang Technological University, Singapore, Zhengzi Xu Nanyang Technological University, Sen Chen Tianjin University, Lingling Fan Nankai University, Bihuan Chen Fudan University, China, Yang Liu Nanyang Technological University
10:40
20m
Research paper
Detecting Build Conflicts in Software Merge for Java Programs via Static Analysis
Research Papers
Sheikh Shadab Towqir Virginia Tech, Bowen Shen Virginia Tech, Muhammad Ali Gulzar Virginia Tech, USA, Na Meng Virginia Tech
11:00
20m
Research paper
SmartPip: A Smart Approach to Resolving Python Dependency Conflict IssuesVirtual
Research Papers
Chao Wang School of Informatics, Xiamen University, Rongxin Wu Xiamen University, Haohao Song School of Informatics, Xiamen University, Jiwu Shu School of Informatics, Xiamen University, Guoqing Li Xiamen Meiya Pico Information Co., Ltd.
11:20
20m
Research paper
Accelerating Build Dependency Error Detection via Virtual BuildVirtual
Research Papers
Rongxin Wu Xiamen University, Minglei Chen School of Informatics, Xiamen University, Chengpeng Wang The Hong Kong University of Science and Technology, Gang Fan Ant Group, Jiguang Qiu Xiamen Meiya Pico Information Co., Ltd., Charles Zhang Hong Kong University of Science and Technology
11:40
20m
Research paper
BuildSonic: Detecting and Repairing Performance-Related Configuration Smells for Continuous Integration BuildsVirtual
Research Papers
Chen Zhang Fudan University, Bihuan Chen Fudan University, China, Junhao Hu Fudan University, Xin Peng Fudan University, Wenyun Zhao Fudan University, China