Traceability in Software Engineering Estimating Impact of Change Gøran K. Olsen SINTEF ICT Oslo, Norway Goran.K.Olsen@sintef.no
Overview Model Driven Engineering Traceability Traceability Usage Certification Change Impact Analysis Tools and Techniques Conclusions
Acknowledgment MODELling solution for complex software systems Scientific Software as a Service
Model Driven Engineering Traditional Software Engineering (SE) approaches are often driven by low level design and coding Model Driven Engineering (MDE)is a part of a broad effort across the industry to raise the level of abstraction MDE is about using modelling languages to program systems at a higher h level lof abstraction Model Transformations important
MDE Example
Traceability In the IEEE Standard Glossary of Software Engineering g Terminology traceability is defined as: The degree to which a relationship can be established between two or more products of the development process, especially products having a predecessorsuccessor or master subordinate relationship to one another For example, the degree to which h therequirementsand t design of a given software component match IEEE, IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 610.12 1990. 1990. 78.
Why Traceability? Certification Analyses Change Impact Coverage Orphan Requirements Engineering Maintainability
Link Semantics Trace links can have tool supported tdsemantics Semantically rich trace links possess three characteristics: They are typed. They conform to a case specific specific traceability metamodel Could be accompanied by a set of case specific correctness constraints Goal: richer and more precise analysis and reasoning (human or computerized) can be facilitated
Safety Critical Systems Engineering Usually long lived li (embedded) d) systems Often developed over long periods of time (20 30 years, in some cases) Traditionally developed following accepted docu heavy processes Emphasis on verification and validation Majority of such systems must be certified prior to their deployment
Traceability and Safety Critical Systems There is substantial interest in applying MDE in the safety critical systems engineering field However, certification is paramount Traceability is one of the (if not the) key notions underpinning certification
Safety Lifecycle 1. Identifypotentialsystem hazards 2. Risk assessment 3. Derive safety requirements 4. Identify potential designs and refine safety requirements 5. Develop system 6. Produce evidence that implementation adheres to design, and safety requirements have been met Change.. Traceability isone ofthe key notions underpinning certification
Software Change Impact Analysis Software systems are becoming larger and more complex The need to predict and control lthe effects of software changes increases Studies have shown that Source code dependency and software traceability analysis Can effectively support impact analysis in software engineering i repositories
Change Impact Analysis Bohner and Arnold (1996) define Impact Analysis in the book Software Change Impact Analysisas: as: identifying the potential consequences of a change, or estimating what needs to be modified to accomplish a change.
Goal of Change Impact Analysis The goal is to determine what would be affected by a change to a particular artefact tf t Find any relationships that indicate a dependency on that artefact Other artefacts that depend on these "dependent d artefacts" might also be affected
Traceability Matrix Reqs Requirement Identifiers Teste d UC 1.1 UC 1.2 UC 1.3 UC 2.1 UC 2.2 UC 2.3.1 UC 2.3.2 UC 2.3.3 UC 2.4 UC 3.1 UC 3.2 TECH 1.1 TECH 1.2 TECH 1.3 Test Cases 321 3 2 3 1 1 1 1 1 1 2 3 1 1 1 Tested Implicitly 77 1.1.1 1 x 1.1.2 2 x x 1.1.3 2 x x 1.1.4 1 x 1.1.5 2 x x 1.1.6 1 x 1.1.7 1 x 1.2.1 2 x x 1.2.2 2 x x 1.2.3 2 x x
Change Impact Analysis Req: 01 Req: 01 Req: 01 Req: 01 Design Element Design Element Design Element Design Element Design Element Design Element Impl Impl Impl Impl Impl Impl Impl
Traceability Tool Support Commercial Tools Borland Caliber RM IBM DOORS IBM RequisitePro Mostly manual establishment Tools that generate candidate links are available
Automatic Trace Establishment www.eclipse.org/m2m www.eclipse.org/gmt/mofscript www.eclipse.org/gmt/epsilon http://www.eclipse.org/gmt/am3/ Automatic trace establishment from model transformations: ATL Higher Order Transformation MOFScript Runtime establishment EPSILON Runtime establishment
Trace Analyser Traces can be established both manually by the user from tools like Papyrus UML, Rational SM and Precise RqM. Automatically by tools such as the MOFScript model to text transformation engine, QVT and ATL. In addition different viewers and analysis functionality such as Graph View and Impact analysis.
TraMDE Typed Links
Conclusion Traceability gives added value and support (analyses, certification, maintainability) bl Traceability can be used to analyse the impact of change Accuracy depends on link granularity and semantics Establishing and maintaining trace links can be costly and therefore good tool support and automation is required Model Driven Engineering enables automation Mining tools also available (e.g. Java src mining tools) Still unresolved challenges
Questions?