T bilit i S ft Traceability in Software  Engineering

advertisement
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?
Download