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
Pagination206–216
Date or Month PublishedJuly
Conference LocationBoston, MA, USA
AbstractA 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.
Downloadshttps://homes.cs.washington.edu/~mernst/pubs/steering-issta2004.pdf PDF https://homes.cs.washington.edu/~mernst/pubs/steering-issta2004.ppt slides (PowerPoint)
Citation KeyLinE2004