Institutt for datateknikk og informasjonsvitenskap Inah Omoronyia Requirements Specification and Testing Part 1 TDT 4242 TDT 4242
Lecture 3 Requirements traceability Outcome: 1. Understand the meaning of requirements traceability 2. Understand the challenges of requirements traceability 3. Insight into different traceability meta- models 4. Approaches to requirements traceability 1. Automated requirements traceability TDT 4242
What is requirements traceability Requirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards direction, i.e. from its origins, through its development and specification, to its subsequent deployment and use, and through periods of on- going refinement and iteration in any of these phases. Gotel and Finkelstein TDT 4242
Why? Traceability Goals (I): Project Management Status: When will we finish? and what will it cost? Quality: How close are we to our requirements? Improve Quality: What can we do better? Change Management Versioning, documentation of changes (Why? What? When?) Change Impact analysis Reuse Variants and product families Requirements themselves can be targeted for reuse TDT 4242
Why? Traceability Goals (II): Validation finding and removing conflicts between requirements completeness of requirements derived requirements cover higher level requirements each requirement is covered by part of the product Verification assure that all requirements are fulfilled System Inspection identify alternatives and compromises Certification/Audits proof of being compliant to standards TDT 4242
Habitat of Traceability Links TDT 4242
Habitat of Traceability Links: Pre- vs. Post-Requirements Specification TDT 4242
Challenges of requirements traceability: Traces have to be identified and recorded among numerous, heterogeneous entity instances (document, models, code,... ). It is challenging to create meaningful relationships in such a complex context. Traces are in a constant state of flux since they may change whenever requirements or other development artefacts change. A variety of tool support based on traceability matrix, hyperlink and identifiers. still manual with little automation Incomplete trace information is a reality due to complex trace acquisition and maintenance. Trust is a big issue: lack of quality attribute There is no use of the information that 70% of trace links are accurate without knowing which of the links forms the 70% TDT 4242
Challenges of requirements traceability: Different stakeholders usage viewpoint (different questions asked by different stakeholders): Project management: how close are we to our requirements and what can we do better to improve quality. Change management Tracking down the effect of each change to each involved component that might require adaptations to the change, recertification or just retesting to proof functionality. Reuse: Pointing out those aspects of a reused component that need to be adapted to the new system requirements. Even the requirements themselves can be targeted for reuse. Validation: Traceabilility can be used as a pointer to the quality of requirements: Completeness, ambiguity, correctness/noise, inconsistency, forward referencing, opacity Ensures that every requirement has been targeted by at least one part of the product Verification Checking that constraints are not violated (in most cases this is an extension of validation context) Certification/Audit Testing, maintainance (reverse engineering) TDT 4242
Traceability meta-models: A model is an abstrac0on of phenomena in the real world; a metamodel is yet another abstrac0on, highligh0ng proper0es of the model itself. Meta- models for traceability are o<en used as the basis for the different traceability methodologies and frameworks: Define what type of artefacts should be traced. Define what type of rela0ons could be established between these artefacts. Traceability Meta Model TDT 4242
Traceability meta-models: European EMPRESS project: Meta model for requirements traceability
Traceability meta-models: PRECISE Meta- model (SINTEF)
Approaches to requirements traceability Creating trace links: critical tasks in requirements traceability: establish links between requirements and between requirements and other artefacts. Manual linking and maintaining of such links is time consuming and error prone Focus is on requirements traceability through (semi- ) automatic link generation or through prioritization of links.
Approaches to requirements traceability Creating trace links: Classical traceability methods - the simplest form of traceability requirements traceability matrices, hypertext, cross referencing schemes Use of excel very common Issues: long- term difficulty of maintaining large numbers of links. The static nature of the links (lack of attributes) limit the scope of potential automation.
Approaches to requirements traceability Creating trace links: Scenario driven traceability method Test- based approach to uncover relations amongst requirements, design and code artefacts (Alexander Egyed ) Accomplished by observing the runtime behavior of test scenarios. IBM Rational PureCoverage, open source tool (org.jmonde.debug.trace) Translate this behavior into a graph structure to indicate commonalities among entities associated with the behavior.
Approaches to requirements traceability Scenario driven approach: List of Video on demand VOD Requirements Overlapping between r6 and r1 suggest some trace dependency between the two requirements. No overlapping between r6 and r2 suggest no dependency between the two requirements Execution Paths (footprints) of three VOD requirements
Approaches to requirements traceability Creating trace links: Scenario driven traceability method Issues: Semi- automated but requires enormous amount of 0me from system engineers to itera0vely iden0fy a subset of test scenarios and how they related to requirement artefacts. Requirements that are not related due to non matching execu0on paths might be related in some other form (e.g calling, data dependency, implementa0on pajern similarity, etc).
Approaches to requirements traceability Creating trace links: Information retrieval (IR) methods Based on the similarity of terms across requirements and artefacts. vector-space model probabilistic network model Latent semantic indexing
Approaches to requirements traceability: IR method Terms /Requirements matrix for VOD system r7 r0 r8 r3 r9 r6 r1 r4 r2 r5 Cosine similarity LSA visualisation for r6 Outcome closely correspond with scenario based approach Possible trace dependency between r6 and r1 Lesser likelihood of dependency between r6 and r2 Further more, IR approach suggest dependency b/w r6 and r8, r3, r0, r9.
Approaches to requirements traceability Creating trace links: Information retrieval (IR) methods Issues: Further inves0ga0on needed by a stakeholder to accept the proposed links The accuracy (precision and recall) depends on the underlying processes and guidelines (e.g. presence of dic0onaries, naming conven0on, etc.).
Approaches to requirements traceability Creating trace links: Event based Requirements Tracing Automated harvesting of trace links based on navigations and influence across the collaboration space. (Omoronyia et.al) Identification of single point of failure Experience instances Issues: - Highly reliant on capturing navigation patterns within a development platform
Conclusion Requirements traceability is an important aspect of requirements management Stakeholders have different traceability information needs Traceability can be complex for not trivial projects Traceability meta-models provide insight on the type of traceability information required for a project There exist different automated approaches for requirements traceability. The strength is in a synergy of different automated approaches