Information Technology Reference
In-Depth Information
2 Related Work
This section presents related work on natural language processing technologies as
foundation for automating the ReqM tasks requirements categorization, conflict anal-
ysis, and requirements tracing approaches.
2.1 Requirement Conflicts Detection and Requirements Tracing
Requirements conflict with each other if they make contradicting statements about
common software attributes [7]. Requirements authors may use different terminol-
ogies for specifying requirements, although the terms used can be derived from the
same common concepts.
In principle there are the following main strategies to identify and eliminate re-
quirements conflicts: Negotiation methods, where stakeholders manually (or with
tool support) categorize, discuss, and analyze requirements for conflicts, such as
the win-win requirements negotiation approach [1] or its tool-supported variant
easy-win-win [2],
Automation approaches for conflict analysis ([4][6][12]) that use tools to analyze
requirements consistency in order to reduce human effort.
“Given that there may be up to n 2 conflicts among n requirements, the number of
potential conflicts, could be enormous, burdening the engineer with the time-intensive
and error-prone task of identifying the true conflicts” [7]. Several approaches address
the issue of automated requirements conflict identification:
The Trace Analyzer by Egyed and Grünbacher [7] analyzes the footprint of test
cases to generate trace dependencies. If two requirements affect the same part of a
system, then their test runs execute overlapping lines of code. Trace dependencies and
potential conflicts can be identified among requirements, if their test scenarios exe-
cute the same lines of code. However, the Trace Analyzer needs executable code to
identify requirements conflicts, which is often not available in early project phases,
when conflict analysis is a major goal.
Heitmeyer et al. [11] describe a formal analysis technique, called consistency
checking , for the automated detection of errors, such as type errors, non-determinism,
missing cases, and circular definitions, in requirements specifications. The approach
only considers syntactical consistency and does not address semantic conflicts.
Automated requirements tracing approaches are also relevant for requirements con-
flict analysis: requirements tracing deals with identifying interdependencies between
requirements [10] and conflicts between two requirements can be seen as a particular
type of interdependency, i.e., tracing is a precondition for conflict analysis. There are
reports on several trace automation approaches, such as Egyed's scenario-driven ap-
proach to traceability [6], Jackson's key-phrase-based traceability scheme [12]. Fur-
ther, there are the heterogeneous traceability approach Cleland-Huang et al. [4], and
approaches by Pinheiro et al. [20], Leuser [14], and McMillan et al. [16]. These ap-
proaches use different techniques to identify requirements interdependencies. Some of
them require executable code, so they cannot be used for the identification of interde-
pendencies in early project phases when there is no sufficient code base.
Search WWH ::




Custom Search