BLIMP Tracer: Integrating Build Impact Analysis with Code Review

Authors - Ruiyin Wen, David Gilbert, Michael G. Roche, Shane McIntosh
Venue - International Conference on Software Maintenance and Evolution, Industry Track, pp. To appear, 2018

Related Tags - ICSME 2018 code review build systems

Abstract - Code review is an integral part of modern software development, where patch authors invite fellow developers to inspect code changes. While code review boasts technical and non-technical benefits, it is a costly use of developer time, who need to switch contexts away from their current development tasks. Since a careful code review requires even more time, developers often make intuition-based decisions about the patches that they will invest effort in carefully reviewing.

Our key intuition in this paper is that patches that impact mission-critical project deliverables or deliverables that cover a broad set of products may require more reviewing effort than others. To help developers identify such patches, we introduce BLIMP Tracer, a build impact analysis system that we developed and integrated with the code review platform used by a globally distributed product team at Dell EMC, a large multinational corporation. BLIMP Tracer operates on a Build Dependency Graph (BDG) that describes how each file in the system is processed to produce the set of intermediate and output deliverables. For a given patch, BLIMP Tracer then traverses the BDG to identify the deliverables that are impacted by the change. Finally, the results are reported directly within the code review interface.

To evaluate BLIMP Tracer, we conducted a qualitative study with 45 developers, observing that BLIMP Tracer not only improves the speed and accuracy of identifying the set of deliverables that are impacted by a patch, but also helps the community to better understand the project architecture.

Preprint - PDF


  Author = {Ruiyin Wen and David Gilbert and Michael G. Roche and Shane McIntosh},
  Title = {{BLIMP Tracer: Integrating Build Impact Analysis with Code Review}},
  Year = {2018},
  Booktitle = {Proc. of the International Conference on Software Maintenance and Evolution (ICSME)},
  Pages = {To appear}