VeriCCM: Improving the Syntax and Semantics of Requirements Models Danielle Gaither, Kaushik Madala, Hyunsook Do, Barrett R. Bryant University of North Texas, USA daniellegaither@my.unt.edu,kaushikmadala@my.unt.edu,hyunsook.do@unt.edu,barrett.bryant@unt.edu ABSTRACT Many problems in software systems can ultimately be traced to problematic system requirements. To mitigate this problem, some systems builders have adopted a more systematic approach to re- quirements elicitation and analysis. However, many of these ap- proaches treat requirements as isolated entities having no direct connection to the actual system implementation. We propose Veri- CCM, an approach that addresses potential problems both in the semantics and the syntax of requirements models. We also evaluate our approach with an empirical study. CCS CONCEPTS · Software and its engineering Requirements analysis; Software verifcation and validation; Domain specifc languages; Soft- ware development process management; · Computing method- ologies Machine learning; KEYWORDS requirements analysis, machine learning, verifcation and validation ACM Reference Format: Danielle Gaither, Kaushik Madala, Hyunsook Do, Barrett R. Bryant. 2019. VeriCCM: Improving the Syntax and Semantics of, Requirements Models. In The 34th ACM/SIGAPP Symposium on Applied Computing (SAC ’19), April 8ś12, 2019, Limassol, Cyprus. ACM, New York, NY, USA, Article 4, 4 pages. https://doi.org/10.1145/3297280.3299745 1 INTRODUCTION Technological systems can often trace their defects to poorly-specifed requirements. One of the most famous examples is the explosion of the Ariane 5 launcher in 1996, where a software bug triggered the spacecraft’s self-destruct mechanism. The spacecraft had been tested for a variety of scenarios involving hardware component failure, but none involving design errors in the software [10]. One approach to address the problems of poorly-specifed re- quirements is to build a model of the requirements and analyze the model for potential defects. Some integrate with long-established modeling tools, such as goal modeling [7]. Others use domain- specifc ontologies to create their own domain-specifc modeling languages [1, 8]. However, like all tools, these approaches have their limitations. For example, goal modeling is concerned with overall system goals, but is less useful for analyzing interactions Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for proft or commercial advantage and that copies bear this notice and the full citation on the frst page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). SAC ’19, April 8ś12, 2019, Limassol, Cyprus © 2019 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-5933-7/19/04. https://doi.org/10.1145/3297280.3299745 between system components. Concerning domain-specifc mod- eling languages (DSMLs), while organizations that have adopted DSMLs have seen mostly positive results [3], the formal founda- tions for such languages are not yet widespread [4]. For example, Aceituna et al. [1] proposed the Causal Component Model (CCM), a domain-specifc model-based requirements analysis process with the intention of fnding abnormal system behaviors. The results so far have been promising, but their work does not check the qual- ity of the model itself, and much of the process relies on manual analysis. To address some of the limitations in frameworks such as CCM, we propose VeriCCM, which attempts to improve model quality both by ensuring that model elements are relevant terms and that the models are well-formed. Although there is always some manual efort involved in writing rules for a model, an automatic mecha- nism to check the structure or quality of the rules can be useful. By adding model element analysis and formalized elements, we can be more confdent that our model elements are relevant and that our rules are well-formed. To evaluate the efectiveness of Veri- CCM, we performed an empirical study on a set of requirements models. Our approach revealed several instances of erroneously labeled components and incomplete requirements models, includ- ing unreachable and unrecoverable states. The results show how even basic text processing and lightweight formalization can reveal numerous defects in a requirements model. The rest of this paper is organized as follows. Section 2 provides brief background information on topics used in our work and re- lated work. We outline our approach in Section 3. In Section 4, we detail our empirical study and discuss our fndings in Section 5. We conclude and suggest potential future work in Section 6. 2 BACKGROUND AND RELATED WORK 2.1 Background Our approach combines the Causal Component Model (CCM) [1], word embeddings [14] and ANTLR [13]. We verify input model elements and rules corresponding to CCM using word embeddings and ANTLR respectively. The defnitions of the model elements in our approach correspond to defnitions of model elements in CCM. Due to space constraints, we forgo explaining these topics and refer the readers to their citations. 2.2 Related Work One of the most difcult problems in requirements engineering is extracting structured information for modeling purposes from un- structured natural language requirements [2, 9, 11]. In an example from construction automation, Lee et al. [9] used a Model View Defnition (MVD) validation approach to check the content and format of a given source fle against the specifcations laid out in 1881