gnat pro user day: gnatdashboard - tracking and improving software quality

20

Upload: adacore

Post on 28-Nov-2014

765 views

Category:

Technology


5 download

DESCRIPTION

A presentation given on GNAT Pro User Day about GNATdashboard, a tool for tracking and improving software quality.

TRANSCRIPT

Page 1: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality
Page 2: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

Tracking and Improving Software Quality

JC DelayPresented by

GNATdashboard

Page 3: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

The big picture

• Track and reduce the Technical Debt on an ongoing basis

• Engage all developers from project day #1

• Raise warnings when Technical Debt is above quality thresholds

Page 4: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

The seven deadly sins

• Duplications

• Bad distribution of complexity

• Spaghetti design

• Lack of tests & code coverage

• No enforced coding standard

• Not enough or too many comments & documentation

• Potential bugs

Page 5: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

Code quality factors

• Maintainability

• Complexity

• Documentation

• Coding standard

• Test coverage

• Potential bug detection

Page 6: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

Code quality factors

• Maintainability

• Complexity

• Documentation

• Coding standard

• Test coverage

• Potential bug detection

GNATmetric & GNATcheck

GNATcoverage

CodePeer & SPARK 2014

Page 7: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

Call for an orchestrator

• Compute & collect the data from each tool

• Raw, non-human friendly, output (CSV, XML, ...)

• Need to fit into a Continuous Integration system

Page 8: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

GNATmetric

SPARK 2014

GNATcheck

CodePeer

GNATcoverage

Custom ToolCustom ToolCustom tools

Page 9: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

GNATmetric

SPARK 2014

GNATcheck

CodePeer

GNATcoverage

Custom ToolCustom ToolCustom tools

Metrics & Messages

Page 10: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

GNATmetric

SPARK 2014

GNATcheck

CodePeer

GNATcoverage

Custom ToolCustom ToolCustom tools

Metrics & Messages

GPS

GNATbench

GNATdoc / HTML

SonarQube

SQuORING

Reporting toolsReporting toolsReporting tools

plug-in

plug-in

plug-in

plug-in

plug-in

Page 11: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

GNATmetric

SPARK 2014

GNATcheck

CodePeer

GNATcoverage

Custom ToolCustom ToolCustom tools

GNATdashboarddriver

Metrics & Messages

GPS

GNATbench

GNATdoc / HTML

SonarQube

SQuORING

Reporting toolsReporting toolsReporting tools

plug-in

plug-in

plug-in

plug-in

plug-in

GNATdashboard

Page 12: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

SonarQube integration• SonarQube is a platform to manage code quality

• Web-based interface to navigate:

• Statistics (lines of code, comments, complexity)

• Drill down views (sub-projects, packages, functions)

• Evolution over time

Page 13: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality
Page 14: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

Metrics

Page 15: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

Violations

Page 16: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

Drill down view

Page 17: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

Drill down view

Page 18: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality
Page 19: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

It's here!

• Bundled with GNAT Pro

• First official beta in November 2014

• First official release in February 2015

Page 20: GNAT Pro User Day: GNATdashboard - Tracking and Improving Software Quality

Questions?

Thank You!