TTraceability in Software bilit i S ft Engineering Estimating Impact of Change Gøran K. Olsen SINTEF ICT Oslo Norway Oslo, Norway Goran.K.Olsen@sintef.no Overview • Model Driven Engineering • Traceability • Traceability Usage y g – Certification – Change Impact Analysis • Tools and Techniques Tools and Techniques • Conclusions Acknowledgment MODELling solution for comPLEX software systems Scientific Software as a Service as a Service Model Driven Engineering 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 Model Driven Engineering (MDE)is a part of a broad effort across the industry to raise the level of abstraction of abstraction • MDE is about using modelling languages to program systems at a higher level of abstraction hi h l l f b i p • Model Transformations important MDE Example MDE Example Traceability In the IEEE Standard Glossaryy of Software Engineering g 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 predecessor‐ successor or master‐subordinate relationship to one another another” FFor example, the l th degree d t hi h the to which th requirements i t and d design of a given software component match IEEE, IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 610.12‐1990. 1990. 78. Why Traceability? Why Traceability? • Certification • Analyses – Change Impact – Coverage – Orphan p • Requirements Engineering • Maintainability Link Semantics Link Semantics • TTrace links can have tool supported semantics li k h t l t d ti • Semantically rich trace‐links possess three characteristics: characteristics – They are typed. – They conform to a case‐specific traceability They conform to a case specific traceability metamodel – Could be accompanied by a set of case‐specific p y p correctness constraints • Goal: richer and more precise analysis and reasoning (human or computerized) can be i (h i d) b facilitated Safety Critical Systems Engineering Safety‐Critical Systems Engineering • U Usually long‐lived (embedded) ll l li d ( b dd d) systems Often developed over long • 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 d l deployment t Traceability and Safety Critical Systems Traceability and Safety Critical Systems • There is substantial interest in applying MDE pp y g in the safety‐critical systems engineering field • However, certification is paramount • Traceability is one of the (if not the) key notions underpinning certification p g Safety Lifecycle Safety Lifecycle 1. 1 2. 3. 4. Identify potential system hazards Identify potential system hazards Risk assessment Derive safety requirements Derive safety requirements Identify potential designs and refine safety requirements 5. Develop system 6. Produce evidence that implementation adheres to implementation adheres to design, and safety requirements have been met • Change….. • Traceability is one of the key Traceability is one of the key notions underpinning certification Software Change Impact Analysis Software Change Impact Analysis • SSoftware systems are ft t becoming larger and more complex complex • The need to predict and control the effects t l th ff t of software f ft changes increases • Studies have shown that – Source code dependency and software traceability analysis – Can effectively support impact analysis in software engineering l i i ft i i repositories Change Impact Analysis Change Impact Analysis • Bohner and Arnold (1996) p y define Impact Analysis in the book Software Change Impact Analysis as: Impact Analysis – “identifying the potential consequences of a change or consequences of a change, or estimating what needs to be modified to accomplish a modified to accomplish a change”. Goal of Change Impact Analysis Goal of Change Impact Analysis • The The goal goal is to determine what is to determine what would be affected by a change h t to a particular artefact ti l t f t • Find any relationships y p that indicate a dependency on that artefact that artefact • Other artefacts that depend on these "dependent th "d d t artefacts" might also be affected ff d Traceability Matrix y Requirement Identifiers Reqs REQ1 REQ1 REQ1 REQ1 REQ1 REQ1 REQ1 REQ1 REQ1 REQ1 REQ1 REQ1 REQ1 REQ1 Teste UC UC UC UC UC UC UC UC UC UC UC TECH TECH TECH d 1.1 1.2 1.3 2.1 2.2 2.3.1 2.3.2 2.3.3 2.4 3.1 3.2 1.1 1.2 1.3 Test Cases 321 Tested Implicitly 77 1.1.1 1 1.1.2 2 1.1.3 2 1.1.4 1 1.1.5 2 1.1.6 1 1.1.7 1 1.2.1 2 1.2.2 2 1.2.3 2 3 2 3 x x 1 1 1 1 1 1 2 3 1 1 x x x x x x x x x x x x x x 1 Change Impact Analysis Change Impact Analysis Req: 01 Design Element Design Element Impl Impl Impl Impl Req: 01 Req: 01 Design Element Impl Impl p Req: 01 Design Element Design Element Design Element Req: 01 Impl Design Element Traceability Tool Support Traceability Tool Support • Commercial Tools – Borland Caliber‐RM – IBM DOORS – IBM RequisitePro IBM RequisitePro –… • Mostly manual establishment • Tools that generate candidate Tools that generate candidate links are available Automatic Trace Establishment 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 ‐ MOFScript p ‐ EPSILON Æ Higher Order Transformation Æ Runtime establishment Æ Runtime establishment Trace Analyser 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 Typed Links Conclusion • Traceability gives added value and support ( l (analyses, certification, maintainability) f 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 y g pp costly and therefore good tool support and automation is required • Model Driven Engineering enables automation Model Driven Engineering enables automation – Mining tools also available (e.g. Java src mining tools) • Still unresolved challenges Still unresolved challenges Questions?