Program steering : improving adaptability and mode selection via dynamic analysis
Author(s)Lin, Lee Chuan
Improving adaptability and mode selection via dynamic analysis
Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science.
Michael D. Ernst.
MetadataShow full item record
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 training programs to select more appropriate modes during new situations. The technique, called program steering, creates a new mode selector by learning and extrapolating from previously successful experiences. Such a strategy, which generalizes the knowledge that a programmer has built into the system, may select an appropriate mode even when the original programmer had not considered the scenario. We applied the technique on simulated fish programs from MIT's Embodied Intelligence class and on robot control programs written in a month-long programming competition. The experiments show that the technique is domain independent and that augmenting programs via program steering can have a substantial positive effect on their performance in new environments.
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.Includes bibliographical references (p. 83-86).
DepartmentMassachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science.; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Massachusetts Institute of Technology
Electrical Engineering and Computer Science.