University of Minnesota
Software Engineering Center
/

You are here

Automatically Finding the Control Variables for Complex System Behavior

Date of Publication: 
December 2010
Associated Research Groups: 
Publication Files: 
Abstract: 
Testing large-scale systems is expensive in terms of both time and money. Running simulations early in the process is a proven method of finding the design faults likely to lead to critical system failures, but determining the exact cause of those errors is still time-consuming and requires access to a limited number of domain experts. It is desirable to find an automated method that explores the large number of combinations and is able to isolate likely fault points. Treatment learning is a subset of minimal contrast-set learning that, rather than classifying data into distinct categories, focuses on finding the unique factors that lead to a particular classification. That is, they find the smallest change to the data that causes the largest change in the class distribution. These treatments, when imposed, are able to identify the factors most likely to cause a mission-critical failure. The goal of this research is to comparatively assess treatment learning against state-of-the-art numerical optimization techniques. To achieve this, this paper benchmarks the TAR3 and TAR4.1 treatment learners against optimization techniques across three complex systems, including two projects from the Robust Software Engineering (RSE) group within the National Aeronautics and Space Administration (NASA) Ames Research Center. The results clearly show that treatment learning is both faster and more accurate than traditional optimization methods.
Venue: 
AUTOMATED SOFTWARE ENGINEERING Volume 17, Number 4, 439-468
bibtex: 
@article{gay2010automatically, title={{Automatically finding the control variables for complex system behavior}}, author={Gay, G. and Menzies, T. and Davies, M. and Gundy-Burlet, K.}, journal={Automated Software Engineering}, pages={1--30}, issn={0928-8910}, year={2010}, publisher={Springer} }