Mastering Code Analysis Metrics for ALM (Hugh Wood)
-
Upload
rencore -
Category
Technology
-
view
460 -
download
1
Transcript of Mastering Code Analysis Metrics for ALM (Hugh Wood)
![Page 1: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/1.jpg)
Mastering code analysis metrics for ALMSharePoint Konferenz ErdingHugh Wood – Master Chief – Rencore AB - @HughAJWood
![Page 2: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/2.jpg)
@HughAJWoodhttps//blog.spcaf.com [email protected]
Hugh WoodLeicester, EnglandLead Developer @ SPCAFMastering code analysis metrics for ALM - @HughAJWood
![Page 3: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/3.jpg)
•What are they?•Who are they important to?•Where do they come from?•Looking deeper…
Static Code Analysis Metrics
Mastering code analysis metrics for ALM - @HughAJWood
![Page 4: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/4.jpg)
What are they?
Mastering code analysis metrics for ALM - @HughAJWood
![Page 5: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/5.jpg)
Who are they important to?
Mastering code analysis metrics for ALM - @HughAJWood
Developer
Architect
Project Manager
Business
![Page 6: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/6.jpg)
Where do they come from?
Mastering code analysis metrics for ALM - @HughAJWood
FxCop
StyleCop
![Page 7: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/7.jpg)
Digging deeper…
Mastering code analysis metrics for ALM - @HughAJWood
![Page 8: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/8.jpg)
Visual Studio Metrics
Mastering code analysis metrics for ALM - @HughAJWood
Developer Friendly
![Page 9: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/9.jpg)
Visual Studio Metrics
Mastering code analysis metrics for ALM - @HughAJWood
Developer Friendly
![Page 10: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/10.jpg)
Visual Studio Metrics
Mastering code analysis metrics for ALM - @HughAJWood
Developer Friendly
![Page 11: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/11.jpg)
Visual Studio Metrics
Mastering code analysis metrics for ALM - @HughAJWood
Architect Friendly
![Page 12: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/12.jpg)
Visual Studio Metrics
Mastering code analysis metrics for ALM - @HughAJWood
Architect Friendly
Cyclomatic Complexity Density Ratio: (CC)11 / (LOC)21 = 0.5Class Coupling – Use DirectlyDepth Inheritance – Use DirectlyMaintainability Index – Use Directly
![Page 13: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/13.jpg)
Visual Studio Metrics
Mastering code analysis metrics for ALM - @HughAJWood
Project Manager Friendly
Cyclomatic Complexity Density Ratio: (CC)11 / (LOC)21 = 0.5Maintainability Index – Use Directly
![Page 14: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/14.jpg)
Visual Studio Metrics
Mastering code analysis metrics for ALM - @HughAJWood
Business FriendlyProject Complexity: (CC)11 / (LOC)21 = 0.5 x 100 = 50%
25% < Simple50% < Moderate70% < Complex71% > Unsupportable
Maintainability Index – Use Directly< 25% Expensive to maintain26~50% Moderately Expensive51~70% Low Expenditure71%+ Extremely Low Expenditure
![Page 15: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/15.jpg)
Metrics outside ofVisual Studio
Mastering code analysis metrics for ALM - @HughAJWood
• Quality Metrics• Security Metrics• Research & Development metrics
![Page 16: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/16.jpg)
Code Quality Metrics
Mastering code analysis metrics for ALM - @HughAJWood
• Defect Density (High/Medium per 1000 LOC)• Critical Defects / 1000 LOC• Uninspected Defects
![Page 17: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/17.jpg)
Code Quality Metrics
Mastering code analysis metrics for ALM - @HughAJWood
What are Defects?
![Page 18: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/18.jpg)
Code Quality Metrics
Mastering code analysis metrics for ALM - @HughAJWood
What are Defects?
![Page 19: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/19.jpg)
Code Quality Metrics
Mastering code analysis metrics for ALM - @HughAJWood
What are Defects?
![Page 20: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/20.jpg)
Code Quality Metrics
Mastering code analysis metrics for ALM - @HughAJWood
What are Defects?
![Page 21: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/21.jpg)
Code Security Metrics
Mastering code analysis metrics for ALM - @HughAJWood
• Information Security• System Security – System and Web
![Page 22: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/22.jpg)
Research & DevelopmentEfficiency
Mastering code analysis metrics for ALM - @HughAJWood
• Cyclomatic Complexity• Comment Density
![Page 23: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/23.jpg)
Policies & Thresholds
Mastering code analysis metrics for ALM - @HughAJWood
• ISO-9000 / ISO-27001• Defect limits• Developer Vectors• Defect Contingency• Development Language Segregation
![Page 24: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/24.jpg)
Policies & Thresholds
Mastering code analysis metrics for ALM - @HughAJWood
• Assign a Defect Lead• Ignore only false positives• Use custom rule sets• Monitor and track all exceptions
Managing False Positives
![Page 25: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/25.jpg)
Adjusting Project Plans
Mastering code analysis metrics for ALM - @HughAJWood
• Size of Code Base• Outstanding Defects• Number of Developers• Defects Per Developer by Category• Time to Inspect Defects (Average)• Time Scheduled per week for triage per Developer• Weeks until project completion
![Page 26: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/26.jpg)
Adjusting Project Plans
Mastering code analysis metrics for ALM - @HughAJWood
Measure Defects and Metrics Over Time
![Page 27: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/27.jpg)
Summary
Mastering code analysis metrics for ALM - @HughAJWood
• Ensure Defect and Metric policies are in place• Delegate the responsibility for collating data to a developer• Use code quality tools to keep records of progress• Use gathered metrics to inform Business• Decide on course of action and plan
![Page 28: Mastering Code Analysis Metrics for ALM (Hugh Wood)](https://reader036.fdocuments.us/reader036/viewer/2022062401/58eef1171a28ab522d8b45ad/html5/thumbnails/28.jpg)
Mastering code analysis metrics for ALM - @HughAJWood