How Static Code Analysis can change your life (for the better) Technical overview May 2008.

Slides:



Advertisements
Similar presentations
A Taste of Visual Studio 2005 David Grey. Introduction In this session we will introduce Visual Studio 2005 and its features and examine those features.
Advertisements

Top 10 User Mistakes with Static Analysis Sate IV March 2012.
.NET 4.0 Code Contacts .NET 4.0 Code Contracts About Me James Newton-King Developer at Intergen Blog:
Tools for Agile Development: A Developer’s Perspective Mike Linnen Blog:
Agile development By Sam Chamberlain. First a bit of history..
Visual Studio Team System (VSTS). Richard Hundhausen Author of software development books Microsoft Regional Director Microsoft MVP (VSTS) MCT, MCSD,
Changing role of a tester in an agile world
CS 1400 Using Microsoft Visual Studio 2005 if you don’t have the appropriate appendix.
Visual Studio 2005 Team System: Software Project Management Hans Verbeeck
© conchango Scrum for Team System.
Software Development using SCRUM for Visual Team System Sascha P. Corti Developer Evangelist Microsoft Switzerland GmbH
T EAM F OUNDATION S ERVER IN D EVELOPMENT Kambiz Saremi.
Implementing Team Foundation Server in the Enterprise: Guide to a Successful Implementation Jeff Levinson Solutions Architect The Boeing Company DEV343.
1 Adopting Visual Studio Team System Bindia Hallauer Product Management, Visual Studio Team System Microsoft Corporation.
Introduction to SharePoint Development with VS2010 Paul Yuknewicz Lead Program Manager
S ECURITY T OOLS F OR S OFTWARE D EVELOPMENT F X C OP 10.0 David Angulo Rubio.
Cooking with Visual Studio Team System 1 A Recipe for Team Foundation Server.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
Michael Burnside Blog: Software Quality Assurance, Quality Engineering, and Web and Mobile Test.
DELIVERON CONSULTING SERVICES Getting Agile with Team Foundation Server 2010.
.NET Code Auditing Keith Rull Software Engineer First Allied Securities Inc.
Article: Source Code Review Systems Author: Jason Remillard Presenter: Joe Borosky Class: Principles and Applications of Software Design Date: 11/2/2005.
Planning and Tracking Projects with VSTS 2010 By Ahmed Nasr 1.
Continuous Feedback in Agile Teams Justin Marks Senior Program Manager Microsoft Corporation Sebastian Holst Chief Marketing Officer PreEmptive Solutions.
資工 4A 陳怡秀 Microsoft Visual Studio’s Journey to Continuous Delivery.
StyleCop Breaking down the barriers to entry Gary Ewan Park Twitter: Blog:
April 4, Team Foundation Server Business Analyst Build Server Tech Writer on Mac OS X.NET Developer on Visual Studio Test Team User.
Tejasvi Kumar Technology Specialist – VSTS Microsoft Corporation
Visual Studio 2005 Team System: Building Robust & Reliable Software Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation
Steve Dower Software Engineer Python Tools for Visual Studio.
© ALEXANDRE CUVA  VERSION 2.00 Test Driven Design.
Visual Studio 2005 Team System: Enterprise Development and Test Sean Puffet Microsoft Ltd
DEV 303 Visual Studio "Whidbey" Enterprise Tools: Source Control and Work Item Tracking Brian Harry Product Unit Manager Microsoft Visual Studio.
Putting the “Engineering” in Software Engineering: Technology Infrastructure in Process Improvement Adam Kolawa, Ph.D. CEO, Parasoft.
TFS 2010 What’s new and interesting. Key Items Agile Planning Tools – Slides #3-#6 Improved parallel development - Slides #7-#8 Continuous Integration.
Visual Studio 2005 Team System Winning the testing space with advanced testing tools Eric Adams Program Manager Visual Studio 2005 Team System Microsoft.
Rules to Healthier Code Presented by Adam Cogan (Chief Architect for
Perforce Software Version Everything.. Visual Studio Industry Partner Perforce Software NEXT STEPS Contact us at: Perforce products.
Quiz question Session : Visual Studio Team System 2008 Make the Most of VSTS in Real - World Development.
Tejasvi Kumar Developer Technology Specialist | Microsoft India
Large code bases are common We still find ourselves working in unfamiliar code There is too much to know, too much to remember, and nobody can keep.
Go Deep Federated Identity Management Team Foundation Server SCM and Version Control Team Foundation Service Agile Planning.
Team Foundation Server Overview. Team Foundation Server  Where did it come from?  MS Delta  MS SourceSafe.
UHCS 2005, slide 1 About Continuous Integration. UHCS 2005, slide 2 Why do you write Unit Test ? Improve quality/robustness of your code Quick feedback.
© 2010 Marcato Partners, LLC Scrum Experience Group Team Foundation Server (TFS) Marcato / Kardia Health Systems April 27, 2010.
DEV311 Delving into Visual Studio 2005 Team Edition for Software Testers Ed Glas Group Manager, Web and Load Testing Microsoft Corporation.
Visual Studio 2005 Team System: Software Project Management Brian A White Microsoft
1 Introduction Bindia Hallauer & Ajay Sudan Product Management, Visual Studio Team System Microsoft Corporation.
DEV466 Microsoft Visual Studio 2005 Team System: Enterprise-Class Source Control Doug Neumann Program Manager Visual Studio Microsoft Corporation.
Connect with life Tejasvi Kumar Developer Technology Specialist | Microsoft India
YOUR LOGO Phase 2 International Providing critical business software solutions at affordable prices.
AGILE PROJECT MANAGEMENT WITH TEAM FOUNDATION SERVER 2010 Brian Keller Microsoft.
Stuart Kent Group Program Manager, Visual Studio Follow team coding activity with CodeLens.
Automation Testing Trainer: Eran Ruso. Training Agenda Automation Testing Introduction Microsoft Automation Testing Tool Box Coded UI Test and Unit Test.
Why you should be using VSTSWhy you should be using VSTS Visual Studio Team Services (VSTS) Nathan Lasnoski Vice President of blog.concurrency.com.
Declarative Configuration Management with Azure Automation DSC and ARM Nathan Lasnoski Vice President of blog.concurrency.com Concurrency.
Assessing Code Quality and Technical Debt Using SonarQube
Manual testing of Windows Metro style apps built using HTML
TechEd /13/2018 9:06 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Scrum Experience Group Team Foundation Server (TFS)
Module 1: Getting Started
Unit Testing & Test-Driven Development for Mere Mortals
WEBINAR: Becoming Agile In Software Testing: The Government Edition
Visual Studio 2005 “Personalized productivity”
DAT381 Team Development with SQL Server 2005
Unit Testing & Test-Driven Development for Mere Mortals
Your code is not just…your code
Visual Studio Tools for Unity 2.0 Preview
Jamie Cool Program Manager Microsoft
Your code is not just…your code
Presentation transcript:

How Static Code Analysis can change your life (for the better) Technical overview May 2008

Why Static Code Analysis is good Code Review is necessary and good! Static Code Analysis is a fancy name for automated Code Review Static Code Analysis is necessary and good!

What are major goals of code review? Possible goals Code compliance to company wide standard Identify (potential) bugs in code Identify design and implementation problems Peer education

Static Code Analysis is code review tool! Usually performed after the coding finished (after compilation, after integration build) Serves same goals as code review Excellent for enforcing compliance to standards Helps to eliminate certain bugs Helps to identify certain design/implementation flaws Provides certain educational value

SCA vs. peer code review “Goodness”

SCA to the rescue!

SCA – how it is done? For unmanaged code – source code is examined For managed code – MSIL is examined Different tools – different approaches On compiled code after assembly is built On compiled code during development Traditional - on raw code (text)

SCA with Microsoft tools FxCop (free) Visual Studio Team System 2005 Visual Studio Team System 2008 VSTS with Team Foundation Server

Demo FxCop 1.36 VSTS 2008 code analysis VSTS 2008 code metrics VSTS 2008 w/TFS: check-in policy VSTS 2008 w/TFS: Team Build

Custom SCA rules Not officially supported Complicated Yet Possible

Visual Studio 10 (Rosario) Based on Phoenix project Supported extensibility Similar framework for unmanaged/managed analysis Rulesets support (better management story) Data flow analysis

Static code analysis – why not? We already do code reviews Way too many rules Not clear what rules to use We must have different rules Too many violations to fix Who’s going to fix the violations? Hindrance to creativity Yet another bureaucratic invention

Implementing static code analysis Identifying appropriate rules Handling backlog Setting up the process Educating the team Staying agile!

Other tools of interest in SCA space SCA tools NDepend ( ReSharper ( CodeIt.Right ( Code Auditor ( Misc Simian ( Microsoft Line Of Code Counter Microsoft Framework Design Studio

Read of interest FxCop blog (blogs.msdn.com/fxcop)blogs.msdn.com/fxcop Nicole Calinoiu (msmvps.com/blogs/calinoiu)msmvps.com/blogs/calinoiu Partick Smacchia blog ( codebetter.com/blogs/patricksmacchia ) codebetter.com/blogs/patricksmacchia Krzysztof Cwalina blog (blogs.msdn.com/kcwalina)blogs.msdn.com/kcwalina MSDN Magazine: Security code review

Questions? (if time allows) Blog (teamfoundation.blogspot.com)teamfoundation.blogspot.com