The detection of performance changes in software change roll-outs in Internet-based services is crucial for an operations team, because it allows timely roll-back of a software change when performance degrades unexpectedly. However, it is infeasible to manually investigate millions of performance measurements of many roll-outs.   In this paper, we present an automated tool, FUNNEL, for rapid and robust impact assessment of software changes in large Internet-based services. FUNNEL automatically collects the related performance measurements for each software change. To detect significant performance behavior changes, FUNNEL adopts singular spectrum transform (SST) algorithm as the core algorithm, uses various techniques to improve its robustness and reduce its computational cost, and applies a difference-in-difference (DiD) method to differentiate the true causality from the random correlations between the performance change and the software change. Evaluation through historical data in real-word services shows that FUNNEL achieves an accuracy of more than 99.8%. Compared with previous methods, FUNNEL's detection delay is 38.02% to 64.99% shorter, and its computation speed is 4.59 - 7098 times faster. In real deployment, FUNNEL achieves a 98.21% precision, high robustness, fast detection speed, and shows its capability in detecting unexpected performance changes.
['Shenglin Zhang', 'Ying Liu', 'Dan Pei', 'Yu Chen', 'Xianping Qu', 'Shimin Tao', 'Zhi Zang']
Rapid and robust impact assessment of software changes in large internet-based services