Programming Shell Scripts by Demonstration

Command-line interfaces are heavily used by system administrators to manage computer systems. Tasks performed at a command line may often be repetitive, leading to a desire for automation. However, the critical nature of system administration suggests that humans also need to supervise an automated system’s behavior. This paper presents a programming by demonstration approach to capturing repetitive commandline procedures, which is based on a machine learning technique called version space algebra. The interactive design of this learning system enables the user to supervise the system’s training process, as well as allowing the user and system to alternate control of the learned procedure’s execution.

By: Tessa Lau, Lawrence Bergman, Vittorio Castelli, Daniel Oblinger

Published in: RC23218 in 2004


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to .