An Analysis Engine for Dependable Elicitation of Natural Language Use Case Description and Its Application to Industrial Use Cases

LIMITED DISTRIBUTION NOTICE: This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g. , payment of royalties). Copies may be requested from IBM T. J. Abstract We present 1) a novel application of a pipeline of linguistic analysis engines for understanding contents of a natural language use case specification; and 2) results of the first of a kind large scale experiment of application of linguistic techniques to industrial use cases. In spite of the recent developments in formal specification, natural language remains the predominant mode for specifying requirements. Therefore, for dependable system development and for automation of software engineering activities, a robust and scalable natural language processing technique is required that can translate natural language textual requirements into computer based models. We present one such technique that can process natural language use case descriptions. The novelty of our technique lies in our choice of architecture , which enables us to configure and extend the analysis engine to multiple domains and languages. We also report the results of applying our prototype to 80 industrial and academic use case descriptions. The results of our experiment indicate that our approach is very promising.

[1]  Barbara Paech,et al.  Developing Guidance and Tool Support for Rationale-based Use Case Specification , 2001 .

[2]  Walter Daelemans,et al.  Introduction to Special Issue on Machine Learning Approaches to Shallow Parsing , 2002, J. Mach. Learn. Res..

[3]  Linda H. Rosenberg,et al.  Automated Analysis of Requirement Specifications , 1997, Proceedings of the (19th) International Conference on Software Engineering.

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

[5]  Ruzanna Chitchyan,et al.  EA-Miner: a tool for automating aspect-oriented requirements identification , 2005, ASE.

[6]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[7]  Stephen A. White,et al.  Business Process Modeling Notation (BPMN), Version 1.0 , 2004 .

[8]  Amit M. Paradkar,et al.  Less is More: A Minimalistic Approach to UML Model-Based Conformance Test Generation , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[9]  David A. Ferrucci,et al.  UIMA: an architectural approach to unstructured information processing in the corporate research environment , 2004, Natural Language Engineering.

[10]  Jon Whittle,et al.  Generating Hierarchical State Machines from Use Case Charts , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[11]  Branimir Boguraev,et al.  Navigating through Dense Annotation Spaces , 2008, LREC.

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

[13]  Fredrik Törner,et al.  Defects in automotive use cases , 2006, ISESE '06.

[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]  Barbara Paech,et al.  The Four Levels of Use Case Description , 1998, REFSQ.

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

[17]  Heinrich C. Mayr,et al.  Deriving static and dynamic concepts from software requirements using sophisticated tagging , 2007, Data Knowl. Eng..

[18]  Colette Rolland,et al.  Guiding the Construction of Textual Use Case Specifications , 1998, Data Knowl. Eng..

[19]  Robert Dale Industry Watch , 2003, Nat. Lang. Eng..

[20]  Branimir Boguraev,et al.  Anaphora for Everyone: Pronominal Anaphora Resolution without a Parser , 1996, COLING.

[21]  A. Bertolino,et al.  Use Case Description of Requirements for Product Lines , 2002 .

[22]  Tong Zhang,et al.  Text Chunking based on a Generalization of Winnow , 2002, J. Mach. Learn. Res..

[23]  Gregory Grefenstette Light parsing as finite state filtering , 1999 .

[24]  Claus Bossen,et al.  Executable use cases: requirements for a pervasive health care system , 2004, IEEE Software.

[25]  Rie Kubota Ando,et al.  Exploiting Unannotated Corpora for Tagging and Chunking , 2004, ACL.

[26]  Douglas E. Appelt,et al.  FASTUS: A Cascaded Finite-State Transducer for Extracting Information from Natural-Language Text , 1997, ArXiv.

[27]  Bashar Nuseibeh,et al.  Lightweight validation of natural language requirements , 2002, Softw. Pract. Exp..

[28]  Erich Ortner,et al.  Normative Language Approach - A Framework for Understanding , 1996, ER.