Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - February 2011
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 435 views

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

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)

Statistics

Views

Total Views
435
Views on SlideShare
435
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • Thursday February 10th, 2011 Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • SONAR - Dashboard Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 10
    • 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
    • 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
    • Parasoft JTest - Metrics Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 13
    • 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
    • Parasoft JTest – Duplications Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 15
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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