Existing contract checkers for data structures force programmers to choose between poor alternatives. Contracts are either built into the functions that construct the data structur...
Debugging is one of the essential parts of the software development cycle. However, the usual debugging techniques used in imperative languages such as the step by step execution ...
Automatically translating natural language into machine-readable instructions is one of major interesting and challenging tasks in Natural Language (NL) Processing. This problem c...
Every program tells a story. Programming, then, is the art of constructing a story about the objects in the program and what they do in various situations. So-called programming l...
Embodied agents or humanoid avatars may effectively be used to communicate with human users. Currently there is a wide range of specification formalisms and scripting languages f...