Computer Science ETDs

Publication Date



Programming is not just about the syntax of the language; the programming environment is also an important part of the process. In English prose speech recog- nition, knowledge of the context of the conversation or document being produced is useful to disambiguate otherwise error-prone phrases or words. Our spoken programming environment explores the same idea applied to programming by incorporating several forms of context inherent in computer programs to guide and enhance the speech recognition engine: We use the structure and grammar of the language itself, we use scoping of symbols and identifiers, and we incorporate constraints gleaned from type inference. Together, these sources of context allow our programming environment to further improve on the initial performance gain enabled by our new syntax. In this dissertation, we describe the theory and design decisions that went into the aforementioned programming language and its supporting programming environment, as well as the implementation details. We discuss how this setup fits in with—and differs from—previous research in spoken programming. To test the effectiveness of this environment, we conducted a small user study, which is described. The results of this study are presented, together with some qualitative exploration of their implications. Finally, we conclude with some speculation about how the ideas presented here could fit into programming as a whole and suggestions for future research in this direction.




spoken programming, programming-by-voice

Document Type


Degree Name

Computer Science

Level of Degree


Department Name

Department of Computer Science

First Advisor

Luger, George F

First Committee Member (Chair)

Stefanovic, Darko

Second Committee Member

Smith, Caroline

Third Committee Member

Luan, Shuang