February JUGL on Software Quality Analysis

37
Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique Thursday February 10th, 2011

description

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

Transcript of February JUGL on Software Quality Analysis

Page 1: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Thursday February 10th, 2011

Page 2: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

The Good Old Way...

2

Page 3: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique 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.

Page 4: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Tonight « Wrestlers »

4

Alan Perkins Sales Engineering Manager EMEA

Chris Chedgey CEO

Bogdan Czwartkowski Professional Services Manager

Freddy Mallet Co-director & co-founder

Henri Tremblay Senior Architect

Page 5: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

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

5

Page 6: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

The Target

6

“ IceScrum is an J2EE application for using Scrum while keeping the spirit of a collaborative workspace ”

IceScrum: www.icescrum.org Scrum Alliance: www.scrumalliance.org

Page 7: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Some Background and Architecture

7

IceScrum 1: Desktop application in Java / Swing

IceScrum 2: Web application in Java / JSF

IceScrum 3: Web application in Grails

2005

2008

2010

Toni

ght

Link to SVN repository on SourceForge

JSF / IceFaces

Spring

Hibernate M

aven

Page 8: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

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

8

You are here

Page 9: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

  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

Agenda

9

You are here

Page 10: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

SONAR - Dashboard

10

Page 11: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

SONAR - SQALE Quality Model

11

Page 12: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

  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

Agenda

12

You are here

Page 13: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Parasoft JTest - Metrics

13

Page 14: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Parasoft JTest – Static Analysis

14

Page 15: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Parasoft JTest – Duplications

15

Page 16: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Parasoft JTest – Flow Analysis

16

Page 17: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

Parasoft JTest – Runtime Error Detection

17

Page 18: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

  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

Agenda

18

You are here

Page 19: February JUGL on Software Quality Analysis

Copyright © 2011– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

XDepend - Fonctionnalités

19

Fonctionnalités Support Règles de nommage ✓ Règles d'architecture ✓ Structure du code ✓ Erreur de logique ✗ Analyse dynamique ✗ Intégration des tests ✓ Intégration continue ✓

Fonctionnalités Support Intégration IDE ✗ Historique ✓ Langage de requêtage ✓ Implémentation de nouvelles règles

Règles de sécurité ✗ Dashboard pour le manager

Richesse de l‘éco-système

Prix: 299 € dégressif en fonction du nombre de licences

Page 20: February JUGL on Software Quality Analysis

Copyright © 2011– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

XDepend - Vue principale

20

Page 21: February JUGL on Software Quality Analysis

Copyright © 2011– OCTO Technology – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

XDepend - Métriques

21

Page 22: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

  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

Agenda

22

You are here

Page 23: February JUGL on Software Quality Analysis
Page 24: February JUGL on Software Quality Analysis
Page 25: February JUGL on Software Quality Analysis
Page 26: February JUGL on Software Quality Analysis
Page 27: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

  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

Agenda

27

You are here

This session has not been recorded according to Coverity’s will !

Page 28: February JUGL on Software Quality Analysis

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

Page 29: February JUGL on Software Quality Analysis

Steps To Mitigate Risk

2

3

4

Code base

Project 1

Project 3

Project 2

Browse code

Integrity Analysis Engine

Scan your software

Find priority defects List of Defects

_  10001 critical _  10002 major _  10003 major _  10004 critical _  10005 major

Impact Rankings

Map defect impact

Fix priority defects

Report defect remediation

PRODUCTS

1

5

Emacs

Page 30: February JUGL on Software Quality Analysis

Mainline/Trunk/Head/Development

2.4 release

2.4.1 release

2.6 release

2.6.2 release

2.6.2.1 release

Merge fix

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

Shared Code Branching & Defect Impact

Page 31: February JUGL on Software Quality Analysis

Mainline/Trunk/Head/Development

2.4 release

2.4.1 release

2.6 release

2.6.2 release

2.6.2.1 release

Branch of a codebase: Project 2.4 2 streams

Analyze 2.6, 2.6.2 and 2.6.2.1 releases

Page 32: February JUGL on Software Quality Analysis

Mainline/Trunk/Head/Development

2.4 release

2.4.1 release

2.6 release

2.6.2 release

2.6.2.1 release

Branch of a codebase: Project 2.4 2 streams

Common Defects are merged by CIM

Stream 1

Stream 2 Project 2.6

Stream 3

Page 33: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

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

33

You are here

Page 34: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

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

34

You are here

Page 35: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

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

35

Page 36: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

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

36

http://bit.ly/eB7oRM

http://bit.ly/gDtmnj

Page 37: February JUGL on Software Quality Analysis

Copyright © 2011 – Licence CC – Creative Commons 2.0 France – Paternité – Pas d'Utilisation Commerciale – Partage des Conditions Initiales à l'Identique

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

37

You are here