Program steering : improving adaptability and mode selection via dynamic analysis
Author(s)
Lin, Lee Chuan
DownloadFull printable version (4.379Mb)
Alternative title
Improving adaptability and mode selection via dynamic analysis
Other Contributors
Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science.
Advisor
Michael D. Ernst.
Terms of use
Metadata
Show full item recordAbstract
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.
Description
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004. Includes bibliographical references (p. 83-86).
Date issued
2004Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
Massachusetts Institute of Technology
Keywords
Electrical Engineering and Computer Science.