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