Towards Understanding and Fixing Upstream Merge Induced Conflicts in Divergent Forks: An industrial Case StudySEIP
Divergent forks are a common practice in open-source software development to perform long-term, independent and diverging development on top of a popular source repository. However, keeping such divergent downstream forks in sync with the upstream source evolution poses engineering challenges in terms of frequent merge conflicts. In this paper, we conduct the first industrial case study of the implications of frequent merges from upstream and the resulting merge conflicts, in the context of Microsoft Edge development. The study consists of two parts. First, we describe the nature of merge conflicts that arise due to merges from upstream and classify them into textual conflicts, build breaks, and test failures. Second, we investigate the feasibility of automatically fixing a class of merge conflicts related to build breaks that consume a significant amount of developer time to root-cause and fix. Towards this end, we have implemented a tool MrgBldBrkFixer and evaluate it on three months of real Microsoft Edge Beta development data, and report encouraging results.
Fri 10 JulDisplayed time zone: (UTC) Coordinated Universal Time change
07:00 - 08:00 | I21-Version Control and ProgrammingTechnical Papers / Journal First / Software Engineering in Practice at Silla Chair(s): Sunghun Kim Hong Kong University of Science and Technology | ||
07:00 12mTalk | Towards Understanding and Fixing Upstream Merge Induced Conflicts in Divergent Forks: An industrial Case StudySEIP Software Engineering in Practice Chungha Sung University of Southern California, Shuvendu K. Lahiri Microsoft Research, Mike Kaufman Microsoft Corporation, Pallavi Choudhury Microsoft Corporation, Chao Wang USC | ||
07:12 8mTalk | Version Control Systems: An Information Foraging PerspectiveJ1 Journal First Sruti Srinivasa Ragavan Microsoft Research; School of EECS, Oregon State University, Mihai Codoban Microsoft, David Piorkowski IBM Research AI, Danny Dig University of Colorado, Boulder, Margaret Burnett Oregon State University | ||
07:20 8mTalk | How different are different diff algorithms in Git?J1 Journal First Yusuf Sulistyo Nugroho Nara Institute of Science and Technology, Hideaki Hata Nara Institute of Science and Technology, Kenichi Matsumoto Nara Institute of Science and Technology DOI Media Attached | ||
07:28 8mTalk | Characterizing the Usage, Evolution and Impact of Java Annotations in PracticeJ1 Journal First Zhongxing Yu KTH Royal Institute of Technology, Chenggang Bai Beihang University, Lionel Seinturier , Martin Monperrus KTH Royal Institute of Technology | ||
07:36 8mTalk | Why Reinventing the Wheels? An Empirical Study on Library Reuse and Re-implementationJ1 Journal First Bowen Xu Singapore Management University, Le An Polytechnique Montreal, Ferdian Thung Singapore Management University, Foutse Khomh Polytechnique MontreĢal, David Lo Singapore Management University | ||
07:44 12mTalk | HeteroRefactor: Refactoring for Heterogeneous Computing with FPGATechnical Technical Papers Aishwarya Sivaraman University of California, Los Angeles, Jason Lau University of California, Los Angeles, Qian Zhang University of California, Los Angeles, Muhammad Ali Gulzar University of California, Los Angeles, Jason Cong UCLA, Miryung Kim University of California, Los Angeles DOI |