Author :
Begel, Andrew ; Graham, Susan L.
Author_Institution :
Comput. Sci. Div., California Univ., Berkeley, CA, USA
Abstract :
Programmers who suffer from repetitive stress injuries find it difficult to spend long amounts of time typing code. Speech interfaces can help developers reduce their dependence on typing. However, existing programming by voice techniques make it awkward for programmers to enter and edit program text. To design a better alternative, we conducted a study to learn how software developers naturally verbalize programs. We found that spoken programs are different from written programs in ways similar to the differences between spoken and written English; spoken programs contain lexical, syntactic and semantic ambiguities that do not appear in written programs. Using the results from this study, we designed Spoken Java, a semantically identical variant of Java that is easier to say out loud. Using Spoken Java, software developers can speak more naturally by verbalizing their program code as if they were reading it out loud. Spoken Java is analyzed by extending a conventional Java programming language analysis engine written in our Harmonia program analysis framework to support the kinds of ambiguities that arise from speech.
Keywords :
Java; computer aided software engineering; speech-based user interfaces; English language; Harmonia program analysis; Java programming language; Spoken Java; lexical ambiguity; program code verbalization; programming by voice; semantic ambiguity; software development; speech interfaces; spoken programs; syntactic ambiguity;
Conference_Titel :
Visual Languages and Human-Centric Computing, 2005 IEEE Symposium on
Print_ISBN :
0-7695-2443-5
DOI :
10.1109/VLHCC.2005.58