Universal Programmability - How AI Can Help

Everyone should be able to program. Programming in informal, but precise natural language would enable anyone to program and help eliminate the world-wide software backlog. Highly trained software engineers would still be needed for complex and demanding applications, but not for routine programming tasks. Programming in natural language is a monumental challenge and will require AI and software researchers to join forces. Early results, however, appear promising. Combining natural language understanding and ontological reasoning helps remove defects from requirements statements, transforms requirements into UML models, and might even enable script-like programming in specific, narrow domains. An important precondition for rapid progress in this area are benchmarks that help compare different approaches and stimulate competition among researchers.

[1]  Sven J. Körner,et al.  Improving Natural Language Specifications with Ontologies , 2009, SEKE.

[2]  Stefania Gnesi,et al.  Applications of linguistic techniques for use case analysis , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[3]  Vincenzo Gervasi,et al.  Processing natural language requirements , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[4]  Amit M. Paradkar,et al.  Requirements Modeling and Validation Using Bi-layer Use Case Descriptions , 2008, MoDELS.

[5]  Tao Xie,et al.  Inferring method specifications from natural language API descriptions , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[6]  Yuanyuan Zhou,et al.  /*icomment: bugs or bad comments?*/ , 2007, SOSP.

[7]  Robert J. Gaizauskas,et al.  CM-Builder: an automated NL-based CASE tool , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[8]  Leonid Kof,et al.  An application of natural language processing to domain modelling: two case studies , 2005, Comput. Syst. Sci. Eng..

[9]  Jennifer Chu-Carroll,et al.  Building Watson: An Overview of the DeepQA Project , 2010, AI Mag..

[10]  Walter F. Tichy,et al.  nlrpBENCH: A Benchmark for Natural Language Requirements Processing , 2015, Software Engineering & Management.

[11]  Henry Lieberman,et al.  Toward a Programmatic Semantics of Natural Language , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[12]  Sven J. Körner,et al.  RESI - A Natural Language Specification Improver , 2009, 2009 IEEE International Conference on Semantic Computing.

[13]  Mathias Landhäußer,et al.  Connecting User Stories and code for test development , 2012, 2012 Third International Workshop on Recommendation Systems for Software Engineering (RSSE).

[14]  Mathias Landhäußer,et al.  Semantic Enriching of Natural Language Texts with Automatic Thematic Role Annotation , 2010, NLDB.

[15]  Owen Rambow,et al.  Conceptual modeling through linguistic analysis using LIDA , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[16]  Walter F. Tichy,et al.  Thematic Role Based Generation of UML Models from Real World Requirements , 2007 .

[17]  Tom Gelhausen,et al.  Improving Automatic Model Creation Using Ontologies , 2008, SEKE.

[18]  Matthew J. Conway,et al.  Alice: Easy-to-Learn 3D Scripting for Novices , 1998 .

[19]  Luisa Mich,et al.  Market research for requirements analysis using linguistic tools , 2004, Requirements Engineering.

[20]  A. Fatwanto Translating software requirements from natural language to formal specification , 2012, 2012 IEEE International Conference on Computational Intelligence and Cybernetics (CyberneticsCom).

[21]  Sven J. Körner,et al.  Natural Language Specification Improvement with Ontologies , 2009, Int. J. Semantic Comput..

[22]  Tom Gelhausen,et al.  Automatic Checklist Generation for the Assessment of UML Models , 2008, MoDELS Workshops.

[23]  Tom Gelhausen Modellextraktion aus natürlichen Sprachen: eine Methode zur systematischen Erstellung von Domänenmodellen , 2010 .

[24]  Walter F. Tichy,et al.  Synchronizing domain models with natural language specifications , 2012, 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE).

[25]  Walter F. Tichy,et al.  Creating software models with semantic annotation , 2010, ESAIR '10.