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

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

  • 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.
    The Good OldWay... Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 2
  • 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.
    Tonight « Wrestlers » Alan Perkins SalesEngineering 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.
    Their Mission   Nofluff 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.
    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.
    Some Background andArchitecture 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.
    Agenda   Introduction: 5minutes 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.
    Agenda   Introduction: 5minutes   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.
    SONAR - Dashboard Copyright© 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 10
  • 11.
    SONAR - SQALEQuality Model Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 11
  • 12.
    Agenda   Introduction: 5minutes   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.
    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.
    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.
    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.
    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.
    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.
    Agenda   Introduction: 5minutes   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.
    XDepend - Fonctionnalités Fonctionnalités Support Fonctionnalités Support Règlesde 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.
    XDepend - Vueprincipale Copyright © 2011– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 20
  • 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.
    Agenda   Introduction: 5minutes   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
  • 27.
    Agenda   Introduction: 5minutes   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
  • 28.
    Coverity Integrity Center PrecisionSoftware 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
  • 29.
    Steps To MitigateRisk 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
  • 30.
    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
  • 31.
    Analyze 2.6, 2.6.2and 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
  • 32.
    Common Defects aremerged 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
  • 33.
    Agenda   Introduction: 5minutes   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
  • 34.
    Agenda   Introduction: 5minutes   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
  • 35.
    What the IceScrumTeam 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
  • 36.
    Share It!   Findthese + 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
  • 37.
    Agenda   Introduction: 5minutes   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