gnat pro user day: gnatdashboard - tracking and improving software quality
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!