Write a Blog >>
SPLASH 2017
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Wed 25 Oct 2017 14:37 - 15:00 at Regency C - Tools Chair(s): Joshua Sunshine

While unstructured merge tools rely only on textual analysis to detect and resolve conflicts, semistructured merge tools go further by partially exploiting the syntactic structure and semantics of the involved artifacts. Previous studies compare these merge approaches with respect to the number of reported conflicts, showing, for most projects and merge situations, reduction in favor of semistructured merge. However, these studies do not investigate whether this reduction actually leads to integration effort reduction (productivity) without negative impact on the correctness of the merging process (quality). To analyze this, and better understand how merge tools could be improved, in this paper we reproduce more than 30,000 merges from 50 open source projects, identifying spurious conflicts reported by one approach but not by the other (false positives), and interference reported as conflict by one approach but missed by the other (false negatives). Our results and complementary analysis indicate that, in our sample, the number of false positives is significantly reduced when using semistructured merge, and we find evidence that its added false positives are easier to analyze and resolve than those reported by unstructured merge. However, our evidence shows that semistructured merge might lead to more false negatives, and we argue that they are harder to detect and resolve than unstructured merge false negatives. Driven by these findings, we propose an improved semistructured merge tool that further combines both approaches to reduce the false positives and false negatives of semistructured merge. We find evidence that the improved tool, when compared to unstructured merge, reduces the number of reported conflicts by half, has no extra false positives, has at least 8% less false negatives, and is not prohibitively slower.

Wed 25 Oct

Displayed time zone: Tijuana, Baja California change

13:30 - 15:00
ToolsOOPSLA at Regency C
Chair(s): Joshua Sunshine Carnegie Mellon University
13:30
22m
Talk
Effective Interactive Resolution of Static Analysis Alarms
OOPSLA
Xin Zhang Massachusetts Institute of Technology, USA, Radu Grigore University of Kent, Xujie Si University of Pennsylvania, Mayur Naik University of Pennsylvania
DOI
13:52
22m
Talk
Learning to Blame: Localizing Novice Type Errors with Data-Driven Diagnosis
OOPSLA
Eric Seidel University of California at San Diego, USA, Huma Sibghat University of California at San Diego, USA, Kamalika Chaudhuri University of California at San Diego, USA, Westley Weimer University of Virginia, USA, Ranjit Jhala University of California at San Diego, USA
DOI
14:15
22m
Talk
Abridging Source Code
OOPSLA
Binhang Yuan Rice University, USA, Vijayaraghavan Murali Rice University, USA, Chris Jermaine Rice University
DOI
14:37
22m
Talk
Evaluating and Improving Semistructured Merge
OOPSLA
Guilherme Cavalcanti Federal University of Pernambuco, Brazil, Paulo Borba Federal University of Pernambuco, Brazil, Paola Accioly Federal University of Pernambuco, Brazil
DOI