Improving adaptability via program steering

TitleImproving adaptability via program steering
Publication TypeConference Paper
Year of Publication2004
AuthorsLin L, Ernst MD
Conference NameISSTA 2004, Proceedings of the 2004 International Symposium on Software Testing and Analysis
Date or Month PublishedJuly 12–14
Conference LocationBoston, MA, USA
Abstract<p>A multi-mode software system contains several distinct modes of operation and a controller for deciding when to switch between modes. Even when developers rigorously test a multi-mode system before deployment, they cannot foresee and test for every possible usage scenario. As a result, unexpected situations in which the program fails or underperforms (for example, by choosing a non-optimal mode) may arise. This research aims to mitigate such problems by creating a new mode selector that examines the current situation, then chooses a mode that has been successful in the past, in situations like the current one. The technique, called program steering, creates a new mode selector via machine learning from good behavior in testing or in successful operation. Such a strategy, which generalizes the knowledge that a programmer has built into the system, may select an appropriate mode even when the original controller cannot. We have performed experiments on robot control programs written in a month-long programming competition. Augmenting these programs via our program steering technique had a substantial positive effect on their performance in new environments.</p>
DownloadsPDF PostScript Slides (PowerPoint)
Citation KeyLinE2004
Last changed Mon, 2013-06-03 10:27