Conversational Programming: Exploring Interactive Program Analysis
Our powerful computers help very little in debugging the program we have so we can change it into the program we want. We introduce Conversational Programming as a way to harness our computing power to inspect program meaning through a combination of partial program execution and semantic program annotation. A programmer in our approach interactively selects highly autonomous “agents” in a program world as conversation topics and then changes the world to explore the potential behaviors of a selected agent in different scenarios. In this way, the programmer proactively knows how their code affects program execution as they explore various contexts. This paper describes conversational programming through design principles and use cases.
Alexander Repenning...presentation at the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, Indianapolis, Indiana, October 2013.