Using feature locality: can we leverage history to avoid failures during reconfiguration?

  • Authors:
  • Brady J. Garvin;Myra B. Cohen;Matthew B. Dwyer

  • Affiliations:
  • University of Nebraska-Lincoln, Lincoln, NE, USA;University of Nebraska-Lincoln, Lincoln, NE, USA;University of Nebraska-Lincoln, Lincoln, NE, USA

  • Venue:
  • Proceedings of the 8th workshop on Assurances for self-adaptive systems
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Despite the best efforts of software engineers, faults still escape into deployed software. Developers need time to prepare and distribute fixes, and in the interim deployments must either tolerate or avoid failures. Self-adaptive systems, systems that adapt to meet changing requirements in a dynamic environment, have a daunting task if their reconfiguration involves adding or removing functional features, because configurable software is known to suffer from failures that appear only under certain feature combinations. Although configuration-dependent failures may be difficult to provoke, and thus hard to detect in testing, we posit that they also constitute opportunities for reconfiguration to increase system reliability. We further conjecture that the failures that are sensitive to a system configuration depend on similar feature combinations, a phenomenon we call feature-locality, and that this locality can be combined with historical data to predict failure-prone configurations. In a case study on 128 failures reported against released versions of an open source configurable system, we find evidence to support our hypothesis. We show that only a small number of features affect the visibility of these failures, and that over time we can learn these features to avoid future failures.