Language Support for High Level Interaction in Software Development
University Of California-Berkeley, Berkeley CA
Investigators
Abstract
Society is increasingly dependent on the robustness, reliability, and evolvability of software systems. Better support for software development and maintenance is essential. This research will help developers to be more productive and to create better software. Developers use high-level linguistic structure and semantics to discuss software artifacts with one another; however, they create and modify software artifacts using low-level text editors and compiler-motivated program representations. The goal of this research is to bridge that gap - to raise the linguistic level of developer/computer interaction. That will be done by augmenting text-based representations with multi-modal interaction, and by supporting semantic and structural search, navigation, and transformation mechanisms. Using the Harmonia language-based framework being developed at Berkeley, the new methods will be applied initially to Java. A form of Java will be created that is more naturally verbalized by human developers. Methods will be devised to (1) translate this form to the same annotated abstract syntax representation used by conventional text-based tools, (2) resolve the ambiguities that the new form allows, (3) analyze program fragments, a necessary component of semantic search and navigation, and (4) accommodate lexical, syntactic, and semantic inconsistencies, sustaining language-based services when the artifacts are incomplete and incorrectly formed.
View original record on NSF Award Search →