Bootstrapped Learning | SRI International

Toggle Menu
screenshot of the Integrated Bootstrapped Learning software interface

Bootstrapped Learning

SRI and partners developed human-instructable computing technology to let users change software in ways that traditionally require skilled programmers.

For DARPA’s Bootstrapped Learning program, SRI and partners developed human-instructable computing technology that lets users change software in ways that traditionally require skilled programmers. Using this technology, users can combine natural instructional methods such as demonstration, description, and feedback to communicate desired behavior and effect a change. 

The challenge of providing a Programming by Instruction (PbI) capability has three main parts:

  • Acquiring well-formed instructional content from a user
  • Distilling a formal software requirement out from that content
  • Modifying the existing code base to meet the new requirement

Two systems, Modular Architecture for Bootstrapped Learning Experiments (MABLE) and interactive Bootstrapped Learning (iBL), were created to explore different facets of the problem.

  • MABLE is a research platform focusing on distillation, particularly on the central problem of sparse data. In realistic conditions, users will not be able or willing to provide enough instruction to precisely specify a correct requirement. MABLE uses machine-learning algorithms to analyze user-provided instruction in ways that help resolve ambiguity, remove unimportant detail, and fill in blanks. MABLE was tested in several application domains, including International Space Station fault handling and unmanned aerial vehicle (UAV) operations.
     
  • iBL is a prototype for a complete PbI system that addresses all three technical problem areas. It focuses especially on interactively acquiring user intent and background knowledge needed to modify software correctly. Users create a context for instructional dialog by reproducing incorrect software behavior in a simulation. iBL then asks questions, cueing the user to assemble and express latent knowledge sufficient to derive a code change that implements user intent. iBL was developed solely for the domain of automated UAV surveillance.