Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Fri 10 Jul 2020 07:00 - 07:12 at Silla - I21-Version Control and Programming Chair(s): Sunghun Kim

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 Jul
Times are displayed in 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 KimHong Kong University of Science and Technology
07:00
12m
Talk
Towards Understanding and Fixing Upstream Merge Induced Conflicts in Divergent Forks: An industrial Case StudySEIP
Software Engineering in Practice
Chungha SungUniversity of Southern California, Shuvendu LahiriMicrosoft Research, Mike KaufmanMicrosoft Corporation, Pallavi ChoudhuryMicrosoft Corporation, Chao WangUSC
07:12
8m
Talk
Version Control Systems: An Information Foraging PerspectiveJ1
Journal First
Sruti Srinivasa RagavanMicrosoft Research; School of EECS, Oregon State University, Mihai CodobanMicrosoft, David PiorkowskiIBM Research AI, Danny DigUniversity of Colorado, Boulder, Margaret BurnettOregon State University
07:20
8m
Talk
How different are different diff algorithms in Git?J1
Journal First
Yusuf Sulistyo NugrohoNara Institute of Science and Technology, Hideaki HataNara Institute of Science and Technology, Kenichi MatsumotoNara Institute of Science and Technology
DOI Media Attached
07:28
8m
Talk
Characterizing the Usage, Evolution and Impact of Java Annotations in PracticeJ1
Journal First
Zhongxing YuKTH Royal Institute of Technology, Chenggang BaiBeihang University, Lionel Seinturier, Martin MonperrusKTH Royal Institute of Technology
07:36
8m
Talk
Why Reinventing the Wheels? An Empirical Study on Library Reuse and Re-implementationJ1
Journal First
Bowen XuSingapore Management University, Le AnPolytechnique Montreal, Ferdian ThungSingapore Management University, Foutse KhomhPolytechnique MontreĢal, David LoSingapore Management University
07:44
12m
Talk
HeteroRefactor: Refactoring for Heterogeneous Computing with FPGATechnicalArtifact Available
Technical Papers
Aishwarya SivaramanUniversity of California, Los Angeles, Jason LauUniversity of California, Los Angeles, Qian ZhangUniversity of California, Los Angeles, Muhammad Ali GulzarUniversity of California, Los Angeles, Jason CongUCLA, Miryung KimUniversity of California, Los Angeles
DOI