managing the co evolution of software artifacts
play

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


  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

  2. LaQuSo, SynerScope • 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 / Department of Mathematics and Computer Science 21-11-2011

  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

  4. Traceability • The usual answer is “ traceability ” 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 • The “ traceability matrix” above shows the traceability between requirements and test cases / Department of Mathematics and Computer Science 21-11-2011

  5. Traceability • Unfortunately, if we want full traceability across multiple software artifacts, things are more complex Business Acceptance Requirements tests Design Integration Use cases tests Implementation Software Unit tests Requirements / Department of Mathematics and Computer Science 21-11-2011

  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

  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

  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

  9. TraceVis / Department of Mathematics and Computer Science 21-11-2011

  10. TraceVis - Overview Hierarchies Selected relations (follows through) Edge-bundled traceability relations Color coded priorities Timeline Sliders / Department of Mathematics and Computer Science 21-11-2011

  11. TraceVis - Patterns Outliers Elements not covered Inactivity / Department of Mathematics and Computer Science 21-11-2011

  12. Short Demo / Department of Mathematics and Computer Science 21-11-2011

  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

  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

  15. Thank you! Questions / Feedback / Ideas? / Department of Mathematics and Computer Science 21-11-2011

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend