Why feedback implementations fail: the importance of systematic testing

  • Authors:
  • Joseph L. Hellerstein

  • Affiliations:
  • Google, Inc.

  • Venue:
  • Proceedings of the Fifth International Workshop on Feedback Control Implementation and Design in Computing Systems and Networks
  • Year:
  • 2010

Quantified Score

Hi-index 0.01

Visualization

Abstract

Over the last decade, there has been great progress in using formal methods from control theory to design closed loops in software products. Despite this progress, formal methods are rarely used by software practitioners. One reason is the substantial risk of making changes to closed loops, code that is typically complex and performance sensitive. We argue that broad adoption of formal methods for controller design requires addressing the reduction of risk in making changes to controller implementations. To this end, we propose a framework for unit testing controller implementations that addresses scenario coverage, scenario evaluation, and runtime efficiencies for scenario execution. We give examples of applying this framework to the Microsoft .NET Thread Pool, the Google Cluster Manager, and a Google stream processing system.