Automatic Conceptual Analysis of User Requirements with the Requirements Engineering Assistance Diagnostic (READ) Tool Shadi Moradi Seresht, Olga Ormandjieva and Samer Sabra Computer Science and Software Engineering Department Concordia University, Montreal, Canada {sh_morad, ormandj}@cse.concordia.ca, samer@sabra.ca Abstract This paper describes an elaborate methodology that constitutes a proof of concept for the idea that a conceptual knowledge on the software to be developed can be acquired through an automated process, with a corpus of textual requirement documents as input and diagrams representing its static (domain model) and dynamic (context use-case model) aspects, as output. An improved domain model is generated by injecting domain-related missing information provided by Expert Comparable Contextual (ECC) models, which are extracted from reusable domain-specific data models. The dynamic view abstracts the main functionalities of the software as a context use-case model. The paper describes the architecture of the Requirements Engineering Assistance Diagnostic (READ) tool implementing our methodology which will guide the developers in their in-depth study of the requirements text and in the timely identification of risks that poorly specified requirements might introduce into the project. 1. Introduction Requirements analysis and validation constitute the key Requirements Engineering (RE) activity for understanding the user requirements, for classifying them and for modeling the static and dynamic views on the software requirements. This process often takes considerable time to perform manually, as the length of a real-life requirements document can range from a few to hundreds of pages containing numerous words, phrases and sentences, where each can potentially be wrongly interpreted. A lack in domain knowledge is one of the important factors that gives rise to these difficulties. Consequently, inspecting for errors manually, although the most common way of doing so, is also one of the costliest phases of RE. Research Goal. The major goal of this research is to provide automatic assistance in the initial, interactive process of requirement elicitation and analysis, where a full and proper understanding of the application domain is considered a fundamental success factor in the software development process. The work presented here is part of a larger project aimed at applying Natural Language Processing (NLP) techniques to the RE process (see Figure 1). Figure 1. NLP-Based Quality Assessment in Requirements Engineering The objective of NLP assessment in the context of the project indicated in Figure 1 can be expressed in terms of three main goals: G1. Automatic NLP-driven quality assessment of the textual requirements in the requirements gathering and elicitation phase. G2. Automatic NLP-driven quality assessment of the textual requirements in the analysis and specification phase, where conceptual static and dynamic models are developed from the textual requirements. G3. Graphical visualization and animation of the conceptual models extracted from the requirements text for the user’s validation and feedback. The achievements toward completing G1 were tackled in [1], where the objective was to identify the textual ambiguities in the requirements elicitation phase before the conceptual modeling of the requirements begins. The research described in this paper is concerned with the challenges inherent in assessing (semi-) Sixth International Conference on Software Engineering Research, Management and Applications 978-0-7695-3302-5/08 $25.00 © 2008 IEEE DOI 10.1109/SERA.2008.34 133