Managing the co-evolution of software artifacts ir. J.M.A.M. - - PowerPoint PPT Presentation

managing the co evolution of software artifacts
SMART_READER_LITE
LIVE PREVIEW

Managing the co-evolution of software artifacts ir. J.M.A.M. - - PowerPoint PPT Presentation

Managing the co-evolution of software artifacts ir. J.M.A.M. Gabriels dr. ir. D.H.R. Holten ir. M.D. Klabbers ir. W.J.P. van Ravensteijn dr. A. Serebrenik LaQuSo, SynerScope Laboratory for Quality Software Part of TU/e department of


slide-1
SLIDE 1

Managing the co-evolution of software artifacts

  • ir. J.M.A.M. Gabriels
  • dr. ir. D.H.R. Holten
  • ir. M.D. Klabbers
  • ir. W.J.P. van Ravensteijn
  • dr. A. Serebrenik
slide-2
SLIDE 2

LaQuSo, SynerScope

/ Department of Mathematics and Computer Science

21-11-2011

  • Laboratory for Quality Software

− Part of TU/e department of Mathematics and Computer Science − Valorization of academic knowledge for use in business and industry − Feeding academia with questions from industry

  • SynerScope

− Spin-off from TU/e’s Visualization group with the creators of TraceVis − Invented the edge bundling techniques − Discovery of patterns in Big Data − Successful application in financial transactions for detecting fraud

slide-3
SLIDE 3

Difficult questions

  • Software development is carried out under pressure

− “Time to Market” vs. “Costs” vs. “Quality”.

  • Questions arise such as:

− Have we tested enough? − How many test do we have to redo for the new version?

  • These are difficult questions to answer, but:

− Every requirement should be tested with an acceptance test − Ideally, requirements are as thoroughly tested as their perceived risk

How to go about questions like this?

/ Department of Mathematics and Computer Science

21-11-2011

slide-4
SLIDE 4

Traceability

  • The usual answer is “traceability”
  • The “traceability matrix” above shows the traceability

between requirements and test cases

/ Department of Mathematics and Computer Science

21-11-2011

Req1 Req2 Req3 Req4 Req5 Req6 Req7 Req8 Test1

x x

Test2

x

Test3

x x

Test4

x

Test5

x x

Test6

x

Test7

x x

slide-5
SLIDE 5

Traceability

  • Unfortunately, if we want full traceability across

multiple software artifacts, things are more complex

/ Department of Mathematics and Computer Science

21-11-2011

Use cases Software Requirements Business Requirements Implementation Design Unit tests Integration tests Acceptance tests

slide-6
SLIDE 6

Traceability

  • There are different kinds of traceability relations:

1. Direct relations between software artifacts e.g. components (from design) vs. code units

  • 2. Direct relations between units of a software artifact

e.g. business requirements vs. software requirements

  • 3. Indirect (transitive) relations between software

artifacts e.g. business requirements vs. acceptance tests

  • To investigate the last category, we need to look at

“traceability chains”

/ Department of Mathematics and Computer Science

21-11-2011

slide-7
SLIDE 7

Traceability

  • To investigate indirect relations using traceability

matrices, we usually end up with:

− Multiple artifact elements in a big matrix (1-to-n relations) − Matrices spread over multiple artifacts

  • “Seeing things” and changing things in either of these

setups can be challenging

  • The effect of a change is difficult to assess

/ Department of Mathematics and Computer Science

21-11-2011

slide-8
SLIDE 8

Traceability with TraceVis

  • In 2011, Wiljan van Ravensteijn started TraceVis as

part of his Masters Project at the TU/e

  • The goal was to create a visual analytics tool to:

− Visualize traceability relations with hierarchies − Allow interactive manipulation of the view − Show the co-evolution of traceability across artifacts

/ Department of Mathematics and Computer Science

21-11-2011

slide-9
SLIDE 9

TraceVis

/ Department of Mathematics and Computer Science

21-11-2011

slide-10
SLIDE 10

TraceVis - Overview

/ Department of Mathematics and Computer Science

21-11-2011

Timeline Sliders Edge-bundled traceability relations Hierarchies Selected relations (follows through) Color coded priorities

slide-11
SLIDE 11

TraceVis - Patterns

/ Department of Mathematics and Computer Science

21-11-2011

Elements not covered Outliers Inactivity

slide-12
SLIDE 12

Short Demo

/ Department of Mathematics and Computer Science

21-11-2011

slide-13
SLIDE 13

Conclusions

  • With TraceVis, we can:

− Interactively visualize traceability relations at different levels − Spot anomalies such as outliers, empty spaces, inactivity,

  • etc. without knowing in advance what they look like

− Browse through the timeline and see how things evolve

  • We can get insight into:

− Coverage (or the lack thereof) between artifacts − Distribution of traceability relations between artifacts − The co-evolution of artifacts − The completeness of traceability chains

/ Department of Mathematics and Computer Science

21-11-2011

slide-14
SLIDE 14

Future research

  • Often, the traceability information is (partly) missing:

− Investigate to what extent we can reconstruct traceability information from artifacts − Extract an architecture proposal from code − Extract unit test vs. code traceability from code

  • We want to optimally steer development / test effort:

− Investigate problems with traceability in practice − Visualizing industrial datasets − Extend TraceVis with additional analysis features

/ Department of Mathematics and Computer Science

21-11-2011

slide-15
SLIDE 15

Thank you! Questions / Feedback / Ideas?

/ Department of Mathematics and Computer Science

21-11-2011