Introduction to VSTS Introduction to Visual Studio 2008 Development Edition Understanding code complexity using Code Metrics.

Slides:



Advertisements
Similar presentations
AP Computer Science Anthony Keen. Computer 101 What happens when you turn a computer on? –BIOS tries to start a system loader –A system loader tries to.
Advertisements

Introduction to Eclipse. Start Eclipse Click and then click Eclipse from the menu: Or open a shell and type eclipse after the prompt.
 2007 Dr. Natheer Khasawneh. Chapter 13. Graphical User Interface Concepts: Part 1.
The Visual Debugger for Recursive Functions By Charles Nogee Advisor: Dr. Bonomo.
Computer Programming and Basic Software Engineering 4. Basic Software Engineering 1 Writing a Good Program 4. Basic Software Engineering 3 October 2007.
C# Programming: From Problem Analysis to Program Design1 2 Your First C# Program.
Software Process and Product Metrics
CMSC 341 Introduction to Java Based on tutorial by Rebecca Hasti at
Unit 2: Java Introduction to Programming 2.1 Initial Example.
Tutorial 11 Using and Writing Visual Basic for Applications Code
CS305j Introduction to Computing Arrays Part 2 1 Topic 20 Arrays part 2 "42 million of anything is a lot." -Doug Burger (commenting on the number of transistors.
EE4E. C++ Programming Lecture 1 From C to C++. Contents Introduction Introduction Variables Variables Pointers and references Pointers and references.
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College Lecture 2: Working with Visual.
By Nicholas Policelli An Introduction to Java. Basic Program Structure public class ClassName { public static void main(String[] args) { program statements.
Visual Studio 2005 Team System: Building Robust & Reliable Software Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation
Chapter 4: Control Structures I J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition Second.
Chapter 4: Control Structures I J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design,
Input & Output In Java. Input & Output It is very complicated for a computer to show how information is processed. Although a computer is very good at.
The basics of the array data structure. Storing information Computer programs (and humans) cannot operate without information. Example: The array data.
Arrays Chapter 8. What if we need to store test scores for all students in our class. We could store each test score as a unique variable: int score1.
CSC1201: Programming Language 2 Lecture 1 Level 2 Course Nouf Aljaffan Snd Term Nouf Aljaffan (C) CSC 1201 Course at KSU1.
Tips & Tricks: Scrubbing Source Code For Common Coding Mistakes (FxCop And PREfast) Nicholas Guerrera TLNL06 Software Design Engineer Microsoft Corporation.
Applied Computing Technology Laboratory QuickStart C# Learning to Program in C# Amy Roberge & John Linehan November 7, 2005.
ILM Proprietary and Confidential -
Sudesh Krishnamoorthy Developer Technology Specialist | Microsoft |
Sofia, Bulgaria | 9-10 October Troubleshooting Web Site Performance Issues with Visual Studio Team System Martin Kulov Director,.NET Development National.
Java Classes. Consider this simplistic class public class ProjInfo {ProjInfo() {System.out.println("This program computes factorial of number"); System.out.println("passed.
An Introduction to Java – Part 1 Dylan Boltz. What is Java?  An object-oriented programming language  Developed and released by Sun in 1995  Designed.
Quiz question Session : Visual Studio Team System 2008 Make the Most of VSTS in Real - World Development.
CSC 480 Software Engineering Lecture 15 Oct 21, 2002.
C# 2.0 and Future Directions Anders Hejlsberg Technical Fellow Microsoft Corporation.
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
BEGINNING PROGRAMMING.  Literally – giving instructions to a computer so that it does what you want  Practically – using a programming language (such.
C Sharp Web & Internet Programming Group Diana, Aren, Jeff, & Adam, Farrin 5/5/20081CS 311.
PseudocodeFORTRAN (original) INPUT number INPUT divisor intermediate = divisor intermediate
Overview of Java CSCI 392 Day One. Running C code vs Java code C Source Code C Compiler Object File (machine code) Library Files Linker Executable File.
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College Lecture 2: Working with Visual.
CreatingClasses-SlideShow-part31 Creating Classes part 3 Barb Ericson Georgia Institute of Technology Dec 2009.
1 Class 1 Lecture Topic Concepts, Definitions and Examples.
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
Introduction to Software Analysis CS Why Take This Course? Learn methods to improve software quality – reliability, security, performance, etc.
Computer Science 320 A First Program in Parallel Java.
Chapter 1 Java Programming Review. Introduction Java is platform-independent, meaning that you can write a program once and run it anywhere. Java programs.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
Cyclomatic Complexity Philippe CHARMAN Last update:
Execution ways of program References: www. en.wikipedia.org/wiki/Integrated_development_environment  You can execute or run a simple java program with.
Exception and Exception Handling. Exception An abnormal event that is likely to happen during program is execution Computer could run out of memory Calling.
CIS-NG CASREP Information System Next Generation Shawn Baugh Amy Ramirez Amy Lee Alex Sanin Sam Avanessians.
Introduction to Programming G50PRO University of Nottingham Unit 6 : Control Flow Statements 2 Paul Tennent
Boris Jabes Program Manager Visual C++ Microsoft Corporation.
Automation Testing Trainer: Eran Ruso. Training Agenda Automation Testing Introduction Microsoft Automation Testing Tool Box Coded UI Test and Unit Test.
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
The need for Programming Languages
Software Metrics 1.
Chapter No. : 1 Introduction to Java.
Chapter 2 Elementary Programming
Chapter 4: Control Structures I
Testing and Debugging.
NVIDIA Profiler’s Guide
CS360 Windows Programming
Introduction to Computer Programming
Conditional Loops.
Chapter 4: Control Structures I
IMPACTED TESTS BASED ON
An Introduction to Java – Part I, language basics
Announcements Lab 7 due Wednesday Assignment 4 due Friday.
class PrintOnetoTen { public static void main(String args[]) {
Functions and Recursion
Metrics for Process and Projects
Software Testing.
Presentation transcript:

Introduction to VSTS Introduction to Visual Studio 2008 Development Edition Understanding code complexity using Code Metrics

Visual Studio Team System

Development Edition Features Unit testing with code coverage Static Code Analysis Code Profiling Code Metrics

Integrated Unit Testing Integrated Static Code analysis Security Errors Localization problems Memory issues … Integrated Profiler Performance problems Memory problems Potential Sql Injection attack Object not Disposed Localization Issue Improving Code Quality

Who allocates the most Objects Who allocates the most memory Who is called the most? Who runs for the longest What do you have the most of? What is taking up the most memory Improving Quality: Profiler

Performance Report Summary

Gives a snapshot of software health Understand your code complexity Quickly compare code to find potential trouble spots Reduce risk & improve maintainability Understand complexity of inherited code Code metrics

# of Dependencies Between Types

Ripple effect?

# of Executing Lines of Code static class Program { #region Application Entry Point /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Workflow(args); } #endregion #region Static Methods /// Primary workflow for the application. /// Command line arguments. private static void Workflow(string[] cmdargs) { // Collect the list of command line arguments List args = new List (cmdargs); // Show usage syntax if the user so asks if (UseArg(args, "/?")) { ShowAbout(); return; }

, bool ParseCommandLine(string[] args) { if (args.Length == 0) ShowHelp(); return; for (int i = 0; i < args.Length; i++) switch (args[i]) { case "/?" : ShowHelp(); return false; case "/input" : if (args.Length > i && File.Exists(args[i + 1])) InputFile = args[i++]; break; case "/c" : Colapse = true; break; } return true; } # of branches of Code

Overall indication of complexity by aggregation of several factors Lines of Code Cyclomatic Complexity Computational Complexity Used on the Windows Code Base Metric: Maintainability Index

Demonstration

Questions

Thank You