Bilkent University
Department of Computer Engineering


Who Broke the Build? Automatically Identifying Changes That Induce Test Failures In Continuous Integration at Google Scale


Dr. Celal Ziftci

Quickly identifying and fixing code changes that introduce regressions is critical to keep the momentum on software development, especially in very large scale software repositories with rapid development cycles, such as at Google. Identifying and fixing such regressions is one of the most expensive, tedious, and time consuming tasks in the software development life-cycle. Therefore, there is a high demand for automated techniques that can help developers identify such changes while minimizing manual human intervention. Various techniques have recently been proposed to identify such code changes. However, these techniques have shortcomings that make them unsuitable for rapid development cycles as at Google. In this paper, we propose a novel algorithm to identify code changes that introduce regressions, and discuss case studies performed at Google on 140 projects. Based on our case studies, our algorithm automatically identifies the change that introduced the regression in the top-5 among thousands of candidates 82% of the time, and provides considerable savings on manual work developers need to perform.

Bio: Dr. Celal Ziftci is a Software Engineer working at Googles New York office. He received his BS from Bilkent University, his Masters from the University of Illinois Urbana Champaign, and his PhD from the University of California San Diego, all in Computer Science. His research interest is mainly software engineering, specifically software maintenance, software testing, program analysis, and applications of data mining and machine learning in these fields. He holds a patent and leads a group of researchers at Google working on extreme scale software testing and engineering.


DATE: 07 December 2018, Friday @ 11:40