Draft - An updated version of this paper will appear in the Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering
Plausible and Adaptive Requirement Traceability Structures George Spanoudakis Department of Computing City University Northampton Square, London, EC1V 0HB, UK E-mail:
[email protected] Abstract error-prone task. These shortcomings are prominently manifested in industrial settings where systems are documented by large collections of artefacts which are often expressed in natural language (e.g. requirements and test specifications), are owned by different stakeholders, and evolve autonomously.
This paper presents an extension of a traceability system which automates the generation of traceability relations between textual requirement artefacts and object models using heuristic traceability rules. These rules match syntactically related terms in the textual parts of the requirements artefacts with related elements in an object model (e.g. classes, attributes, operations) and create traceability relations of different types when a match is found. The extension described in this paper measures beliefs in: (1) the ability of specific traceability rules to generate correct traceability relations, (2) the satisfiability of traceability rules by particular types of artefacts, and (3) the correctness of individual traceability relations. It also provides a mechanism with well-founded semantics for revising all these beliefs on the basis of partial (and even conflicting) assessments of the relations that these rules generate provided by different users.
To address these shortcomings we have developed a system that can be used to generate and maintain traceability relations between requirements artefacts expressed in structured forms of natural language such as requirement statements or use-cases [2] and object models expressed in UML [9] based on heuristic traceability rules [19]. These rules specify ways of matching syntactically related terms in the textual parts of the requirements artefacts with related elements in an object model (e.g. classes, attributes, operations, messages) and create traceability relations of different types when a match is found. The syntactic relations used in the rules are defined in terms of patterns of words which have specific grammatical roles in a piece 1. Introduction of text (e.g. noun , verb, adjective etc.), referred to as "part-of-speech" (POS) assignments in the literature [4]. Requirements traceability – that is the ability to relate requirements specifications with other artefacts created in the development life-cycle of a software system – has Our experimentation with this traceability system has widely and long been recognised as a significant factor indicated that, while it is generally possible to generate for efficient software project management and software relations at reasonable recall and precision rates, the systems quality [3, 10, 14, 15]. This is because ability of the individual rules deployed by the system to traceability relations can be used to: (i) assist the process create correct relations varies. This experimentation has of verifying that a system meets its requirements, (ii) also manifested that, the satisfiability of rules by establish the impact of changes in the requirements particular requirement artefacts is not always amenable specification of a system to other artefacts in its to a strict logical appraisal due to ambiguities regarding documentation (e.g. design, testing and implementation the grammatical roles of individual words within these artefacts) and vice versa, or (iii) understand the artefacts which sometimes arise (see [4] as well). evolution of artefact. In this paper, we describe an extension of the approach Research into requirements traceability has been advocated by the above traceability system which we concerned with the study and definition of different have introduced in order to be able to: types of traceability relations [5, 7, 10, 13] and the (a) measure beliefs in the ability of specific traceability rules to generate correct traceability relations, and in provision of support for generating and maintaining their satisfiability by particular types of artefacts, these relations in software and requirements engineering tools [6, 12, 18]. Yet most of the existing approaches (b) use these beliefs to make decisions about the traceability rules of the system that may be trusted, and tools assume that software developers create and and maintain traceability relations manually [3, 11, 14, 15]. As a consequence, the establishment and maintenance of (c) revise the beliefs in the correctness of individual rules based on partial assessments of the relations traceability relation becomes a time-consuming and
1
Draft - An updated version of this paper will appear in the Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering
that these rules generate which are provided by analysis indicates that more than one tag may be possibly associated with a particular word, each of these different users. tags is associated with a probability measure. To address these needs we introduce functions which measure the extent to which it may be initially believed The general syntactic form of a requirement-to-object that a rule is correct and update the measures that these model rule is defined as1: functions generate to reflect the confirmation or disconfirmation of the traceability relations generated by Definition 1: Given a set of word variable symbols V, a the rule by different sets of users. We also introduce set of tag symbols T, a set of requirement artefact functions measuring the extent to which a rule is variable symbols A, a set of requirement artefact type satisfied by particular artefacts and use them to obtain symbols Ta, a set of qualifier symbols Q = {1,*}, a set E beliefs in the correctness of traceability relations. The of symbols denoting object model elements, a set To of belief functions associated with the rules and traceability symbols denoting types of object model elements, a set relations, and the mechanism for updating them are of function symbols F, a set of predicate symbols P, and founded upon the Dempster Shafer theory of evidence a set of traceability relation symbols R, a ROM rule is defined as: [16] (referred to as "D-S theory" henceforth). The rest of this paper is structured as follows. In Section 2, we overview the rule-based approach underpinning the traceability system described in [19] and discuss the main sources of the uncertainties that arise when deploying it. In Section 3, we introduce the functions used to measure the belief in the correctness and satisfiability of the rules, and in the correctness of the relations generated by them. In Section 4, we present the results of preliminary experiments carried out to evaluate it. Finally, in Section 5 we describe on-going work aimed at developing our approach further. The paper also provides an appendix with an overview of the D-S theory.
2. Rule-based relations
generation
of
ROM_RULE RuleId EXISTS SEQUENCE(S1, S2, …, Sn) in Ax/Tax; in ObjectModely SUCH THAT p1(fi(vi), fj(ej)) ° … ° pl(fl(vi), fl(ej)) ACTION GENERATE (rw(Ax.σ,ek)) ROM_RULE_END where • Su (u=1,…,n) is a syntactic item defined as Su =