The ability to translate instructions expressed in natural language directly to executable software is of considerable use in many applications such as personal assistants, as well as in making computers and automated systems more accessible to users unfamiliar with computer programming. Our work has focused on using
semantic parsing and dialog to interpret English "if this then that" (IFTTT) instructions and using the evolution of comments and code in open source software repositories and a combination of NLP and program analysis methods to automate various software engineering tasks.