February JUGL on Software Quality Analysis

2,003 views

Published on

Slides of February 2011 Java User Group in Lausanne dedicated to Software Quality Analysis

Videos soon available on Parleys: http://parleys.com/#id=102931&st=4

Published in: Technology, Education
  • Be the first to comment

February JUGL on Software Quality Analysis

  1. 1. Thursday February 10th, 2011Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  2. 2. The Good Old Way...Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 2
  3. 3. The JUGL Way   A head-to-head live comparison   But don’t expect any winner...   A quick overview of the market   The leading products (*)   Showcased by experts   An introduction to software assessment and software quality management   A first contact with vendors   If you would like to start tomorrow... (*) CAST, a clear leader, is missing. They unfortunately declined our invitation.Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 3
  4. 4. Tonight « Wrestlers » Alan Perkins Sales Engineering Manager EMEA Chris Chedgey CEO Bogdan Czwartkowski Professional Services Manager Freddy Mallet Co-director & co-founder Henri Tremblay Senior ArchitectCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 4
  5. 5. Their Mission   No fluff just stuff   A maximum of time dedicated to demos, 2-3 slides max.   Have each vendor assess the same application   An open-source application   Select an application close to (y)our daily work   A web application, not a framework   All issues are interesting   At all levels: code correctness, logic, architecture, performance...   In all codes: Java code, DB code and schema, HTML/CSS...   Detected in any ways, static or dynamicCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 5
  6. 6. The Target “ IceScrumScrumJ2EE application for using is an while keeping the spirit of a collaborative workspace ” Scrum Alliance: www.scrumalliance.org IceScrum: www.icescrum.orgCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 6
  7. 7. Some Background and Architecture 2005 IceScrum 1: Desktop application in Java / Swing 2008 IceScrum 2: Web application in Java / JSF JSF / IceFaces Tonight Maven Spring Hibernate Link to SVN repository on SourceForge 2010 IceScrum 3: Web application in GrailsCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 7
  8. 8. Agenda   Introduction: 5 minutes You are here   20 minutes by vendor to assess IceScrum2, in this order:   Sonar   Parasoft   XDepend   Headway   Coverity   Discussion panel: 20 minutes   Conclusion: 5 minutes   AperitifCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 8
  9. 9. Agenda   Introduction: 5 minutes   20 minutes by vendor to assess IceScrum2, in this order:   Sonar You are here   Parasoft   XDepend   Headway   Coverity   Discussion panel: 20 minutes   Conclusion: 5 minutes   AperitifCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 9
  10. 10. SONAR - DashboardCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 10
  11. 11. SONAR - SQALE Quality ModelCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 11
  12. 12. Agenda   Introduction: 5 minutes   20 minutes by vendor to assess IceScrum2, in this order:   Sonar   Parasoft You are here   XDepend   Headway   Coverity   Discussion panel: 20 minutes   Conclusion: 5 minutes   AperitifCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 12
  13. 13. Parasoft JTest - MetricsCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 13
  14. 14. Parasoft JTest – Static AnalysisCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 14
  15. 15. Parasoft JTest – DuplicationsCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 15
  16. 16. Parasoft JTest – Flow AnalysisCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 16
  17. 17. Parasoft JTest – Runtime Error DetectionCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 17
  18. 18. Agenda   Introduction: 5 minutes   20 minutes by vendor to assess IceScrum2, in this order:   Sonar   Parasoft   XDepend You are here   Headway   Coverity   Discussion panel: 20 minutes   Conclusion: 5 minutes   AperitifCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 18
  19. 19. XDepend - Fonctionnalités Fonctionnalités Support Fonctionnalités Support Règles de nommage ✓ Intégration IDE ✗ Règles darchitecture ✓ Historique ✓ Structure du code ✓ Langage de requêtage ✓ Erreur de logique ✗ Implémentation de ✓ Analyse dynamique ✗ nouvelles règles Intégration des tests ✓ Règles de sécurité ✗ Intégration continue ✓ Dashboard pour le ✗ manager Richesse de l‘éco- ✗ système Prix: 299 € dégressif en fonction du nombre de licencesCopyright © 2011– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 19
  20. 20. XDepend - Vue principaleCopyright © 2011– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 20
  21. 21. XDepend - MétriquesCopyright © 2011– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 21
  22. 22. Agenda   Introduction: 5 minutes   20 minutes by vendor to assess IceScrum2, in this order:   Sonar   Parasoft   XDepend   Headway You are here   Coverity   Discussion panel: 20 minutes   Conclusion: 5 minutes   AperitifCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 22
  23. 23. Agenda   Introduction: 5 minutes   20 minutes by vendor to assess IceScrum2, in this order:   Sonar   Parasoft   XDepend   Headway   Coverity You are here   Discussion panel: 20 minutes This session has not been ! recorded according to Coverity’s will   Conclusion: 5 minutes   AperitifCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 27
  24. 24. Coverity Integrity Center Precision Software Analysis Across Lifecycle • Increase customer satisfaction by eliminating product delays and recalls caused by software problems • Speed time to market by making software changes faster and with less risk • Innovate rapidly by reducing time developers spend fixing software design, code, and delivery problems
  25. 25. Steps To Mitigate Risk 1 Scan Fix Emacs your priority software defects 4 5 Report Integrity defect Analysis Engine remediation Map 2 Find defect priority impact PRODUCTSList of Defects_  10001 critical defects_  10002 major Browse code 3 Project 1_  10003 major_  10004 critical Code Project 2_  10005 major base Impact Rankings Project 3
  26. 26. Shared Code Branching & Defect Impact 2.6.2.1 release 2.6.2 release Merge 2.6 release fixMainline/Trunk/Head/Development 2.4 release 2.4.1 release Defect in the original Defect introduced in a Defect introduced in a development branch and release branch before a release branch after a never fixed affects all merge merge products
  27. 27. Analyze 2.6, 2.6.2 and 2.6.2.1 releases Branch of a codebase: Project 2.4 2 streams 2.6.2.1 release 2.6.2 release 2.6 releaseMainline/Trunk/Head/Development 2.4 release 2.4.1 release
  28. 28. Common Defects are merged by CIM Branch of a codebase: Project 2.4 2 streams 2.6.2.1 release Stream 1 2.6.2 release Project 2.6 Stream 2 2.6 release Stream 3Mainline/Trunk/Head/Development 2.4 release 2.4.1 release
  29. 29. Agenda   Introduction: 5 minutes   20 minutes by vendor to assess IceScrum2, in this order:   Sonar   Parasoft   XDepend   Headway   Coverity   Discussion panel: 20 minutes You are here   Conclusion: 5 minutes   AperitifCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 33
  30. 30. Agenda   Introduction: 5 minutes   20 minutes by vendor to assess IceScrum2, in this order:   Sonar   Parasoft   XDepend   Headway   Coverity   Discussion panel: 20 minutes   Conclusion: 5 minutes You are here   AperitifCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 34
  31. 31. What the IceScrum Team Says   Pain points – Interview with Vincent Barrier   Much pain with JSF   SW architecture leading to difficult and costly evolutions   Strong performance issues   Tooling issues (m2 plugin)   Difficulty to take new developers on board   Heterogeneous code and quality issuesCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 35
  32. 32. Share It!   Find these + the vendors’ slides on the JUGL web site   http://jugl.ch   Live it on Parleys   http://parleys.com/#id=102931&st=4   React and follow further discussions on Twitter   #jugl or @cyrilpicat   Read Kalistick report and SQuORING report on IceScrum2 http://bit.ly/eB7oRM http://bit.ly/gDtmnjCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 36
  33. 33. Agenda   Introduction: 5 minutes   20 minutes by vendor to assess IceScrum2, in this order:   Sonar   Parasoft   XDepend   Headway   Coverity   Discussion panel: 20 minutes   Conclusion: 5 minutes   Aperitif You are hereCopyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique 37

×