Requirements Analysis: Concept Extraction and Translation of Textual Specifications to Executable Models

Requirements engineering, the first phase of any software development project, is the Achilles' heel of the whole development process, as requirements documents are often inconsistent and incomplete. In industrial requirements documents, natural language is the main presentation means. This results in the fact that the requirements documents are imprecise, incomplete, and inconsistent. A viable way to detect inconsistencies and omissions in documents is to extract system models from them. In our previous work we developed approaches translating textual scenarios to message sequence charts (MSCs) and textual descriptions of automata to automata themselves. It turned out that these approaches are highly sensitive to proper definition of terms (communicating objects for MSCs, states for automata). The goal of the presented paper is a systematic comparison of different term extraction heuristics, as a preliminary stage of MSC or automata extraction. The extracted terms were declared to communicating objects (in the case of MSCs) or to states (in the case of automata). The heuristics were compared on the basis of correctness of resulting MSCs and automata. We came to the conclusion that named entity recognition is the best performing technique for term extraction from requirements documents.

[1]  J Bosch ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING , 2002, ICSE 2002.

[2]  Stefania Gnesi,et al.  The linguistic approach to the natural language requirements quality: benefit of the use of an automatic tool , 2001, Proceedings 26th Annual NASA Goddard Software Engineering Workshop.

[3]  Barbara Paech,et al.  Detecting Ambiguities in Requirements Documents Using Inspections , 2001 .

[4]  Yonggang Zhang,et al.  Ontological Text Mining of Software Documents , 2007, NLDB.

[5]  Leonid Kof From Textual Scenarios to Message Sequence Charts: Inclusion of Condition Generation and Actor Extraction , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[6]  George S. Avrunin,et al.  PROPEL: an approach supporting property elucidation , 2002, ICSE '02.

[7]  Egon Börger,et al.  Formal methods for industrial applications : specifying and programming the steam boiler control , 1996 .

[8]  Egon Börger,et al.  The Stream Boiler Case Study: Competition of Formal Program Specification and Development Methods , 1995, Formal Methods for Industrial Applications.

[9]  Peter Sawyer,et al.  Shallow knowledge as an aid to deep understanding in early phase requirements engineering , 2005, IEEE Transactions on Software Engineering.

[10]  Russ Abbott Program design by informal English descriptions , 1983, CACM.

[11]  Leonid Kof,et al.  Translation of Textual Specifications to Automata by Means of Discourse Context Modeling , 2009, REFSQ.

[12]  Egon Börger,et al.  Formal Methods for Industrial Applications , 1996, Lecture Notes in Computer Science.

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

[14]  Didar Zowghi,et al.  Reasoning about inconsistencies in natural language requirements , 2005, TSEM.

[15]  Leonid Kof,et al.  Scenarios: Identifying Missing Objects and Actions by Means of Computational Linguistics , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[16]  M. Broy Informatik Eine grundlegende Einführung , 1998 .

[17]  James R. Curran,et al.  Wide-Coverage Efficient Statistical Parsing with CCG and Log-Linear Models , 2007, Computational Linguistics.

[18]  Leonid Kof Treatment of Passive Voice and Conjunctions in Use Case Documents , 2007, NLDB.

[19]  Sunil Vadera,et al.  From English to Formal Specifications , 1994, Comput. J..

[20]  Daniel M. Berry,et al.  AbstFinder, A Prototype Natural Language Text Abstraction Finder for Use in Requirements Elicitation , 1997, Automated Software Engineering.

[21]  Leonid Kof,et al.  Natural Language Processing: Mature Enough for Requirements Documents Analysis? , 2005, NLDB.

[22]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[23]  Francis Chantree,et al.  Identifying Nocuous Ambiguities in Natural Language Requirements , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).