Automated Extraction of Conceptual Models from User Stories via NLP

Natural language (NL) is still the predominant notation that practitioners use to represent software requirements. Albeit easy to read, NL does not readily highlight key concepts and relationships such as dependencies and conflicts. This contrasts with the inherent capability of graphical conceptual models to visualize a given domain in a holistic fashion. In this paper, we propose to automatically derive conceptual models from a concise and widely adopted NL notation for requirements: user stories. Due to their simplicity, we hypothesize that our approach can improve on the low accuracy of previous works. We present an algorithm that combines state-of-the-art heuristics and that is implemented in our Visual Narrator tool. We evaluate our work on two case studies wherein we obtained promising precision and recall results (between 80% and 92%). The creators of the user stories perceived the generated models as a useful artifact to communicate and discuss the requirements, especially for team members who are not yet familiar with the project.

[1]  Nenad Medvidovic,et al.  Reducing Ambiguities in Requirements Specifications Via Automatically Created Object-Oriented Models , 2008, Monterey Workshop.

[2]  Lionel C. Briand,et al.  A systematic review of transformation approaches between user requirements and analysis models , 2011, Requirements Engineering.

[3]  Sjaak Brinkkemper,et al.  Improving agile requirements: the Quality User Story framework and tool , 2016, Requirements Engineering.

[4]  Paulo F. Pires,et al.  Integrating ontologies, model driven, and CNL in a multi-viewed approach for requirements engineering , 2011, Requirements Engineering.

[5]  Colin J. Neill,et al.  Requirements Engineering: The State of the Practice , 2003, IEEE Softw..

[6]  Nazlia Omar,et al.  Heuristics-based entity-relationship modelling through natural language processing , 2005 .

[7]  Maria Lapata,et al.  The Disambiguation of Nominalizations , 2002, CL.

[8]  Robert J. Gaizauskas,et al.  CM-Builder: A Natural Language-Based CASE Tool for Object-Oriented Analysis , 2003, Automated Software Engineering.

[9]  Colin J. Neill,et al.  State of practice in requirements engineering: contemporary data , 2014, Innovations in Systems and Software Engineering.

[10]  Eman S. Btoush,et al.  Generating ER Diagrams from Requirement Specifications Based On Natural Language Processing , 2015 .

[11]  Sunil Vadera,et al.  Obtaining E-R Diagrams Semi-Automatically from Natural Language Specifications , 2004, ICEIS.

[12]  Luisa Mich,et al.  NL-OOPS: from natural language to object oriented requirements using the natural language processing system LOLITA , 1996, Natural Language Engineering.

[13]  Lionel C. Briand,et al.  aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models , 2015, TSEM.

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

[15]  Asunción Gómez-Pérez,et al.  Natural Language-Based Approach for Helping in the Reuse of Ontology Design Patterns , 2008, EKAW.

[16]  Junjie Wang,et al.  Analyzing and predicting software integration bugs using network analysis on requirements dependency network , 2014, Requirements Engineering.

[17]  Peter P. Chen Entity-Relationship Diagrams and English Sentence Structure , 1979, ER.

[18]  Erik Kamsties,et al.  From Contract Drafting to Software Specification: Linguistic Sources of Ambiguity , 2003 .

[19]  Hillel Rubin,et al.  Supporting agile software development through active documentation , 2011, Requirements Engineering.

[20]  Mike Cohn,et al.  User Stories Applied: For Agile Software Development , 2004 .

[21]  A Min Tjoa,et al.  Transformation of Requirement Specifications Expressed in Natural Language into an EER Model , 1993, ER.

[22]  Vincenzo Gervasi,et al.  On the Systematic Analysis of Natural Language Requirements with CIRCE , 2006, Automated Software Engineering.

[23]  Sjaak Brinkkemper,et al.  Visualizing User Story Requirements at Multiple Granularity Levels via Semantic Relatedness , 2016, ER.

[24]  Nazlia Omar,et al.  Heuristic-based entity-relationship modelling through natural language processing , 2004 .

[25]  Christina L. Gagné,et al.  Lexical and Relational Influences on the Processing of Novel Compounds , 2002, Brain and Language.

[26]  Stefan Biffl,et al.  A Domain Ontology Building Process for Guiding Requirements Elicitation , 2010, REFSQ.

[27]  M. Saeki,et al.  Software Development Process From Natural Language Specification , 1989, 11th International Conference on Software Engineering.

[28]  Sjaak Brinkkemper,et al.  Forging high-quality User Stories: Towards a discipline for Agile Requirements , 2015, 2015 IEEE 23rd International Requirements Engineering Conference (RE).

[29]  Cheng Niu,et al.  An Expert Lexicon Approach to Identifying English Phrasal Verbs , 2003, ACL.

[30]  Peter P. Chen English Sentence Structure and Entity-Relationship Diagrams , 1983, Inf. Sci..

[31]  Sven Hartmann,et al.  English Sentence Structures and EER Modeling , 2007, APCCM.

[32]  Siqing Du,et al.  An Automated Multi-component Approach to Extracting Entity Relationships from Database Requirement Specification Documents , 2006, NLDB.

[33]  Mohamad Kassab,et al.  The changing landscape of requirements engineering practices over the past decade , 2015, 2015 IEEE Fifth International Workshop on Empirical Requirements Engineering (EmpiRE).

[34]  Isabelle Mirbel,et al.  Unifying and Extending User Story Models , 2014, CAiSE.

[35]  S. Abirami,et al.  Conceptual modeling of natural language functional requirements , 2014, J. Syst. Softw..

[36]  Sjaak Brinkkemper,et al.  The Use and Effectiveness of User Stories in Practice , 2016, REFSQ.