SlideShare a Scribd company logo
Advanced Code Analysis in .NET




                                                                                                                                                          Stephen Ritchie
                                                                                                                                                                Nov 14, 2012



Stephen D. Ritchie – Senior Consultant – Excella Consulting, Inc., 2300 Wilson Blvd, Suite 630, Arlington, VA 22201 – 703.840.8600 – http://excella.com
Live Tweet, Slides and Examples

• Twitter: @RuthlessHelp
           @Apress

• Slides:
  http://www.slideshare.net/ruthlesshelp

• Code Samples:
  http://github.com/ruthlesshelp
Stephen D. Ritchie   2
Blueprint




Stephen D. Ritchie   3
Toolbox




Stephen D. Ritchie   4
Da Vinci Code … Analyzer




Stephen D. Ritchie   5
Code Analysis


Static
                     versus




Stephen D. Ritchie            6
Static Analysis




Stephen D. Ritchie   7
But wait …




Stephen D. Ritchie   8
1940 Tacoma Narrows Bridge

• Video
       – http://archive.org/download/SF121/SF121_51
         2kb.mp4




Stephen D. Ritchie         10
Static Analysis


Source   Visualizations
Code            Checks
Assembly       Metrics
            Detections
Stephen D. Ritchie   11
Dynamic Analysis


                     Visualizations
                            Checks
                           Metrics
                        Detections
Stephen D. Ritchie   12
Blueprint

                                     1

                               Analyze



                                                   2

                     Monitor             Improve
                     3




Stephen D. Ritchie              13
Toolbox


                      FxCop
Detections
Checks
                      Visual
                      Studio
       http://blogs.msdn.com/b/codeanalysis/
Stephen D. Ritchie           14
Toolbox


                      StyleCop
Detections
Checks


       http://stylecop.codeplex.com/
Stephen D. Ritchie            15
Toolbox


                        ReSharper
                        http://www.jetbrains.com/resharper/
Detections
Checks
                        Gendarme
                     http://www.mono-project.com/Gendarme

Stephen D. Ritchie                16
The Master Craft




Stephen D. Ritchie   17
Toolbox


                                 Simian
Detections

       http://www.harukizaemon.com/simian/



Stephen D. Ritchie          18
The Master Craft

                        Duplicates Finder .NET


       http://www.jetbrains.com/teamcity/

                     Clone Doctor
                     Semantic Designs
       http://www.semdesigns.com/Products/Clone/
Stephen D. Ritchie            19
Dynamic Analysis




                     Code Coverage
Stephen D. Ritchie      20
Toolbox


                     dotCover


       http://www.jetbrains.com/dotcover/



Stephen D. Ritchie           21
Toolbox


                     Open Cover


       http://nuget.org/packages/OpenCover



Stephen D. Ritchie          22
The Master Craft




       http://www.ncover.com/



Stephen D. Ritchie          23
Dynamic Analysis




                            Sampling
                     Instrumentation
Stephen D. Ritchie        24
Toolbox


                     Performance




Stephen D. Ritchie      25
Toolbox


                     Performance


                     http://www.jetbrains.com/profiler/

Stephen D. Ritchie           26
The Master Craft




Stephen D. Ritchie   27
The Master Craft


                     Memory
                     Queries
                     Logging
                     Security
Stephen D. Ritchie       28
Static Analysis


Source   Visualizations
Code            Checks
Assembly       Metrics
            Detections
Stephen D. Ritchie   29
The Master Craft


                     Code Quality
Visualizations         http://www.ndepend.com/
Checks
Metrics
Detections             http://www.lattix.com/

Stephen D. Ritchie      30
Hanselman’s Placemat




       http://bit.ly/LwKfwK
Stephen D. Ritchie            31
Shameless Self Promotion Time!

                     • 40% off eBook at
                       apress.com

                     • Use promo code:
                       PR0N3T

                     • Offer expires 15-Dec-
                       2012
Stephen D. Ritchie       32
Stephen’s Contact Info

• Twitter: @ruthlesshelp

• Email: stephen.ritchie@excella.com

• Blog:              http://ruthlesslyhelpful.net

• LinkedIn:
     http://www.linkedin.com/in/sritchie

Stephen D. Ritchie              33

More Related Content

PPTX
Advanced Code Analysis In .NET
PPTX
Continuous Integration: Blueprint, Toolbox, Master Craft
PPTX
Continuous Integration DCAEC12
PPTX
Test Driven Development: Blueprint, Toolbox, and Master Craft
PDF
Code Reviews in Python - PyZh
PPTX
Creating R Packages
PDF
Dr scratch, Automatic analysis of Scratch projects to assess the development ...
PDF
Girba Phd Presentation 2005-11-14
Advanced Code Analysis In .NET
Continuous Integration: Blueprint, Toolbox, Master Craft
Continuous Integration DCAEC12
Test Driven Development: Blueprint, Toolbox, and Master Craft
Code Reviews in Python - PyZh
Creating R Packages
Dr scratch, Automatic analysis of Scratch projects to assess the development ...
Girba Phd Presentation 2005-11-14

Viewers also liked (20)

PDF
.net code: some ideas to improve yours
PDF
Code-Review-Principles-Process-and-Tools (1)
PDF
Software Project Proposal- Result Analysis Tool
DOCX
Code review guidelines
PPT
ClearCase Basics
DOCX
Project for Student Result System
PPT
Code Review
PDF
Effective code reviews
PPTX
Writing clean code in C# and .NET
PPTX
ERP on School Management System
PPT
Introduction to .NET Framework
PDF
.Net and Windows Application Project on Hotel Management
PPT
C#/.NET Little Wonders
PPTX
Student result mamagement
PPTX
College management system ppt
DOCX
Student database management system
PPTX
School management system
PPS
School management system
PPTX
C# coding standards, good programming principles & refactoring
PPTX
School Management System ppt
.net code: some ideas to improve yours
Code-Review-Principles-Process-and-Tools (1)
Software Project Proposal- Result Analysis Tool
Code review guidelines
ClearCase Basics
Project for Student Result System
Code Review
Effective code reviews
Writing clean code in C# and .NET
ERP on School Management System
Introduction to .NET Framework
.Net and Windows Application Project on Hotel Management
C#/.NET Little Wonders
Student result mamagement
College management system ppt
Student database management system
School management system
School management system
C# coding standards, good programming principles & refactoring
School Management System ppt
Ad

Similar to Advanced Code Analysis with .NET (20)

PPTX
Continuous Integration: Blueprint, Toolbox, Master Craft
PPTX
Continuous Integration: Toolbox, Blueprint, Master Craft
PDF
Application Assessment Techniques
PDF
The 7 Sins of Software Engineers in HEP
PPTX
Clean Code Part III - Craftsmanship at SoCal Code Camp
PDF
Software Analytics: Data Analytics for Software Engineering
PPTX
Integreation
PDF
Alphageeks #4: Example Embedding By Ohad Barzilay
PDF
Initial Results Building a Normalized Software Database Using SRDRs
PPTX
A modern architecturereview–usingcodereviewtools-ver-3.5
 
PDF
Software Analytics - Achievements and Challenges
PPTX
10 Reasons Your Software Sucks - Election 2012 Edition
PPTX
Lecture 1 SE.pptx
PDF
NessPRO Italy on CAST
PPTX
Blackboard DevCon 2012 - Ensuring Code Quality
PDF
Software Analytics: Data Analytics for Software Engineering and Security
PPTX
Using Static Analysis Tools to Become a Superhero Programmer.pptx
PPTX
How to Profit from Static Analysis
PPTX
Agile and CMMI - a potential blend
PPTX
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
Continuous Integration: Blueprint, Toolbox, Master Craft
Continuous Integration: Toolbox, Blueprint, Master Craft
Application Assessment Techniques
The 7 Sins of Software Engineers in HEP
Clean Code Part III - Craftsmanship at SoCal Code Camp
Software Analytics: Data Analytics for Software Engineering
Integreation
Alphageeks #4: Example Embedding By Ohad Barzilay
Initial Results Building a Normalized Software Database Using SRDRs
A modern architecturereview–usingcodereviewtools-ver-3.5
 
Software Analytics - Achievements and Challenges
10 Reasons Your Software Sucks - Election 2012 Edition
Lecture 1 SE.pptx
NessPRO Italy on CAST
Blackboard DevCon 2012 - Ensuring Code Quality
Software Analytics: Data Analytics for Software Engineering and Security
Using Static Analysis Tools to Become a Superhero Programmer.pptx
How to Profit from Static Analysis
Agile and CMMI - a potential blend
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
Ad

More from Stephen Ritchie (15)

PPTX
Overview of .NET Best Practices
PPTX
Lightweight Documentation
PPTX
Agile Engineering Sparker GLASScon 2015
PPTX
DevOps Requires Agility
PPTX
Continuous Integration - NoVA CodeCamp 2014-10-11
PPTX
Lightweight Documentation: An Agile Approach
PPTX
Continuous Integration: Blueprint, Toolbox, Master Craft
PDF
Dc scrum agile_eng_20130923
PPTX
Agile Testing Best Practices
PPTX
An Overview of .NET Best Practices
PPTX
Overcoming the Obstacles, Pitfalls, and Dangers of Unit Testing
PPTX
An Overview of .NET Best Practices
PPTX
DCDNUG 10/16/2012 Automated testing obstacles pitfalls dangers
PPTX
Automated Testing: Obstacles, Pitfalls, and Dangers
PPTX
Automated Testing with Databases
Overview of .NET Best Practices
Lightweight Documentation
Agile Engineering Sparker GLASScon 2015
DevOps Requires Agility
Continuous Integration - NoVA CodeCamp 2014-10-11
Lightweight Documentation: An Agile Approach
Continuous Integration: Blueprint, Toolbox, Master Craft
Dc scrum agile_eng_20130923
Agile Testing Best Practices
An Overview of .NET Best Practices
Overcoming the Obstacles, Pitfalls, and Dangers of Unit Testing
An Overview of .NET Best Practices
DCDNUG 10/16/2012 Automated testing obstacles pitfalls dangers
Automated Testing: Obstacles, Pitfalls, and Dangers
Automated Testing with Databases

Recently uploaded (20)

PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation theory and applications.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Modernizing your data center with Dell and AMD
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Empathic Computing: Creating Shared Understanding
PDF
KodekX | Application Modernization Development
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Machine learning based COVID-19 study performance prediction
Encapsulation theory and applications.pdf
Electronic commerce courselecture one. Pdf
Modernizing your data center with Dell and AMD
NewMind AI Weekly Chronicles - August'25 Week I
Per capita expenditure prediction using model stacking based on satellite ima...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Empathic Computing: Creating Shared Understanding
KodekX | Application Modernization Development
Understanding_Digital_Forensics_Presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Mobile App Security Testing_ A Comprehensive Guide.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Dropbox Q2 2025 Financial Results & Investor Presentation
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

Advanced Code Analysis with .NET

  • 1. Advanced Code Analysis in .NET Stephen Ritchie Nov 14, 2012 Stephen D. Ritchie – Senior Consultant – Excella Consulting, Inc., 2300 Wilson Blvd, Suite 630, Arlington, VA 22201 – 703.840.8600 – http://excella.com
  • 2. Live Tweet, Slides and Examples • Twitter: @RuthlessHelp @Apress • Slides: http://www.slideshare.net/ruthlesshelp • Code Samples: http://github.com/ruthlesshelp Stephen D. Ritchie 2
  • 5. Da Vinci Code … Analyzer Stephen D. Ritchie 5
  • 6. Code Analysis Static versus Stephen D. Ritchie 6
  • 8. But wait … Stephen D. Ritchie 8
  • 9. 1940 Tacoma Narrows Bridge • Video – http://archive.org/download/SF121/SF121_51 2kb.mp4 Stephen D. Ritchie 10
  • 10. Static Analysis Source Visualizations Code Checks Assembly Metrics Detections Stephen D. Ritchie 11
  • 11. Dynamic Analysis Visualizations Checks Metrics Detections Stephen D. Ritchie 12
  • 12. Blueprint 1 Analyze 2 Monitor Improve 3 Stephen D. Ritchie 13
  • 13. Toolbox FxCop Detections Checks Visual Studio http://blogs.msdn.com/b/codeanalysis/ Stephen D. Ritchie 14
  • 14. Toolbox StyleCop Detections Checks http://stylecop.codeplex.com/ Stephen D. Ritchie 15
  • 15. Toolbox ReSharper http://www.jetbrains.com/resharper/ Detections Checks Gendarme http://www.mono-project.com/Gendarme Stephen D. Ritchie 16
  • 16. The Master Craft Stephen D. Ritchie 17
  • 17. Toolbox Simian Detections http://www.harukizaemon.com/simian/ Stephen D. Ritchie 18
  • 18. The Master Craft Duplicates Finder .NET http://www.jetbrains.com/teamcity/ Clone Doctor Semantic Designs http://www.semdesigns.com/Products/Clone/ Stephen D. Ritchie 19
  • 19. Dynamic Analysis Code Coverage Stephen D. Ritchie 20
  • 20. Toolbox dotCover http://www.jetbrains.com/dotcover/ Stephen D. Ritchie 21
  • 21. Toolbox Open Cover http://nuget.org/packages/OpenCover Stephen D. Ritchie 22
  • 22. The Master Craft http://www.ncover.com/ Stephen D. Ritchie 23
  • 23. Dynamic Analysis Sampling Instrumentation Stephen D. Ritchie 24
  • 24. Toolbox Performance Stephen D. Ritchie 25
  • 25. Toolbox Performance http://www.jetbrains.com/profiler/ Stephen D. Ritchie 26
  • 26. The Master Craft Stephen D. Ritchie 27
  • 27. The Master Craft Memory Queries Logging Security Stephen D. Ritchie 28
  • 28. Static Analysis Source Visualizations Code Checks Assembly Metrics Detections Stephen D. Ritchie 29
  • 29. The Master Craft Code Quality Visualizations http://www.ndepend.com/ Checks Metrics Detections http://www.lattix.com/ Stephen D. Ritchie 30
  • 30. Hanselman’s Placemat http://bit.ly/LwKfwK Stephen D. Ritchie 31
  • 31. Shameless Self Promotion Time! • 40% off eBook at apress.com • Use promo code: PR0N3T • Offer expires 15-Dec- 2012 Stephen D. Ritchie 32
  • 32. Stephen’s Contact Info • Twitter: @ruthlesshelp • Email: stephen.ritchie@excella.com • Blog: http://ruthlesslyhelpful.net • LinkedIn: http://www.linkedin.com/in/sritchie Stephen D. Ritchie 33