Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - February 2011

761 views

Published on

Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - February 2011
Alan Perkins (Coverity), Chris Chedgey (Headway Software), Bogdan Czwartkowski (Parasoft), Freddy Mallet (Sonar), Henri Tremblay (XDepend)

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

  • Be the first to like this

Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - February 2011

  1. 1. Thursday February 10th, 2011 Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
  2. 2. The Good Old Way... Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 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 d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 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 Architect Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 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 dynamic Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 5
  6. 6. The Target is an “ IceScrumScrumJ2EE application for using while keeping the spirit of a collaborative workspace ” Scrum Alliance: www.scrumalliance.org Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique IceScrum: www.icescrum.org 6
  7. 7. Some Background and Architecture IceScrum 1: Desktop application in Java / Swing 2008 IceScrum 2: Web application in Java / JSF JSF / IceFaces Maven Tonight 2005 Spring Hibernate Link to SVN repository on SourceForge 2010 IceScrum 3: Web application in Grails Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 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   Aperitif Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 8
  9. 9. 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   Conclusion: 5 minutes   Aperitif Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 9
  10. 10. SONAR - Dashboard Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 10
  11. 11. SONAR - SQALE Quality Model Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 11
  12. 12. 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   Conclusion: 5 minutes   Aperitif Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 12
  13. 13. Parasoft JTest - Metrics Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 13
  14. 14. Parasoft JTest – Static Analysis Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 14
  15. 15. Parasoft JTest – Duplications Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 15
  16. 16. Parasoft JTest – Flow Analysis Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 16
  17. 17. Parasoft JTest – Runtime Error Detection Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 17
  18. 18. 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   Conclusion: 5 minutes   Aperitif Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 18
  19. 19. XDepend - Fonctionnalités Fonctionnalités Support Fonctionnalités Support Règles de nommage ✓ Intégration IDE ✗ Règles d'architecture ✓ Historique ✓ Structure du code ✓ Langage de requêtage ✓ Erreur de logique ✗ ✓ Analyse dynamique ✗ Implémentation de nouvelles règles Intégration des tests ✓ Règles de sécurité ✗ Intégration continue ✓ Dashboard pour le manager ✗ Richesse de l‘écosystème ✗ Prix: 299 € dégressif en fonction du nombre de licences Copyright © 2011– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 19
  20. 20. XDepend - Vue principale Copyright © 2011– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 20
  21. 21. XDepend - Métriques Copyright © 2011– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 21
  22. 22. 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   Conclusion: 5 minutes   Aperitif Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 22
  23. 23. 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 ! This session has not been recorded according to Coverity’s will   Aperitif Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 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 your software Fix Emacs priority defects 4 5 Integrity Analysis Engine 2 Find List of Defects _  10001 _  10002 _  10003 _  10004 _  10005 critical major major critical major priority defects Browse code Impact Rankings Map defect impact 3 Code base PRODUCTS Project 1 Project 2 Project 3 Report defect remediation
  26. 26. Shared Code Branching & Defect Impact 2.6.2.1 release 2.6.2 release 2.6 release Merge fix Mainline/Trunk/Head/Development 2.4 release 2.4.1 release Defect in the original development branch and never fixed affects all products Defect introduced in a release branch before a merge Defect introduced in a release branch after a merge
  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 release Mainline/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 2.6.2 release 2.6 release Stream 1 Stream 2 Stream 3 Mainline/Trunk/Head/Development 2.4 release 2.4.1 release Project 2.6
  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   Aperitif Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 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   Aperitif Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 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 issues Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 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/gDtmnj Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 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 Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique You are here 37

×