Programming in Natural Language: Building Algorithms from Human Descriptions
Alexander Wachtel, Felix Eurich, Walter F. Tichy
Abstract: Our work is where the Software Engineering meets the Human Computer Interaction and the End User Programming to aim for a major breakthrough by making machines programmable in ordinary and unrestricted language. In this paper, we provide a solution on how new algorithms can be recognized and learned from human descriptions. Our focus is to improve the interaction between humans and machines and enable the end user to instruct programmable devices, without having to learn a programming language. In a test-driven development, we created a platform that allows users to manipulate spreadsheet data by using natural language. Therefore, the system (i) enables end users to give instructions step-by-step, to avoid the complexity in full descriptions and give directly feedback of success (ii) creates an abstract meta model for user input during the linguistic analysis and (iii) independently interprets the meta model to code sequences that contain loops, conditionals, and statements. The context then places the recognized program component in the history. In this way, an algorithm is generated in an interactive process. One of the result can be the code sequence for algorithm, like well-known selection sort. We present a series of ontology structures for matching instructions to declare variables, loop, make decisions, etc. Furthermore, our system asks clarification questions when the human user is ambiguous. During the evaluation, 11 undergraduate students were asked to solve tasks by using natural language, and describe algorithms in three classes of complexity. Overall, the system was able to transform 60% of the user statements into code. Far from perfect, this research might lead to fundamental changes in computer use. Rather than merely consuming software, end users of the ever-increasing variety of digital devices could develop their own programs, potentially leading to novel, highly personalized, and plentiful solutions.
The Eleventh International Conference on Advances in Computer-Human Interaction, ACHI 2018 , was proposed as a result of a paradigm shift in the most recent achievements and future trends in human interactions with increasingly complex systems. Adaptive and knowledge-based user interfaces, universal accessibility, human-robot interaction, agent-driven human computer interaction, and sharable mobile devices are a few of these trends. ACHI 2018 also brings a suite of specific domain applications, such as gaming, e-learning, social, medicine, teleconferencing and engineering.
ACHI 2018 continues a series of events targeting traditional and advanced paradigms for computer-human interaction in multi-technology environments. The conference covers also fundamentals on interfaces and models, and highlights new challenging industrial applications and research topics.