NaturalJava is a prototype for an intelligent natural-languagebased user interface for creating, modifying, and examining Java programs. The interface exploits three subsystems. The Sundance natural language processing system accepts English sentences as input and uses information extraction techniques to generate case frames representing program construction and editing directives. A knowledge-based case frame interpreter, PRISM, uses a decision tree to infer program modification ns from the case frames. A Java abstract syntax tree manager, TreeFace, provides the interface that PRISM uses to build and navigate the tree representation of an evolving Java program. In this paper, we describe the technical details of each component, explain the capabilities of the user interface, and present examples of NaturalJava in use. Keywords Intelligent user interfaces, information extraction, natural language processing, computer program editors, programming environments.
David Price, Ellen Riloff, Joseph L. Zachary, Bran