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

Post on 28-Nov-2014

765 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Tracking and Improving Software Quality

JC DelayPresented by

GNATdashboard

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

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

Code quality factors

• Maintainability

• Complexity

• Documentation

• Coding standard

• Test coverage

• Potential bug detection

Code quality factors

• Maintainability

• Complexity

• Documentation

• Coding standard

• Test coverage

• Potential bug detection

GNATmetric & GNATcheck

GNATcoverage

CodePeer & SPARK 2014

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

GNATmetric

SPARK 2014

GNATcheck

CodePeer

GNATcoverage

Custom ToolCustom ToolCustom tools

GNATmetric

SPARK 2014

GNATcheck

CodePeer

GNATcoverage

Custom ToolCustom ToolCustom tools

Metrics & Messages

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

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

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

Metrics

Violations

Drill down view

Drill down view

It's here!

• Bundled with GNAT Pro

• First official beta in November 2014

• First official release in February 2015

Questions?

Thank You!

top related