KIT | KIT-Bibliothek | Impressum | Datenschutz

Text Understanding for Programming in Natural Language: Control Structures

Landhäußer, Mathias; Hug, Ronny


We investigate how natural languages such as English can be used as programming languages. Often, in natural language (as well as in programming) different actions happen at the same time or are repeated. In natural language we just say what is going to happen – in programming we use control structures. Story lines without equivalent language/phrase structures are unnatural and programs without control structures are hard to read. An empirical study showed how users express control structures in natural language. We propose a new and automatic text analysis. It leverages Stanford’s typed dependencies to detect sentence structures that imply strictly sequential control flows, repetition, and parallelism. The technique is analyzed in the context of Alice, a 3D programming environment, and AliceNLP, a system for programming Alice in ordinary English. We evaluate our approach with 52 texts with 795 control-flow-affected elements in total and show that 82% of these elements can be detected successfully. We performed a second evaluation with manually corrected input and find that our approach successfully detects the control structures 97% of the time in the absence of parser errors.

DOI: 10.1109/RAISE.2015.9
Zitationen: 8
Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Publikationsjahr 2015
Sprache Englisch
Identifikator ISBN: 978-1-4673-7064-6
KITopen-ID: 1000051695
Erschienen in 2015 IEEE/ACM Proceedings of the 4th International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering : ICSE '15 37th International Conference on Software Engineering, May 16 - 24, 2015 Florence/Firenze, Italy
Verlag Institute of Electrical and Electronics Engineers (IEEE)
Seiten 7-12
Nachgewiesen in Dimensions
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page