.NET 4.0 Code Contacts .NET 4.0 Code Contracts About Me James Newton-King Developer at Intergen Blog:

Slides:



Advertisements
Similar presentations
Ofir Aspis 1/2010 VS 2010 Targets High Level - IDE New Features VS 2010 As Editor and Platform Demo Editor features Extending.
Advertisements

The Spec# programming system K. Rustan M. Leino Microsoft Research, Redmond, WA, USA Lunch seminar, Praxis Bath, UK 6 Dec 2005 joint work with Mike Barnett,
Writing specifications for object-oriented programs K. Rustan M. Leino Microsoft Research, Redmond, WA, USA 21 Jan 2005 Invited talk, AIOOL 2005 Paris,
Program Verification Using the Spec# Programming System ETAPS Tutorial K. Rustan M. Leino, Microsoft Research, Redmond Rosemary Monahan, NUIM Maynooth.
Spec# K. Rustan M. Leino Senior Researcher Programming Languages and Methods Microsoft Research, Redmond, WA, USA Microsoft Research faculty summit, Redmond,
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
.NET Compact Framework 2.0 for the Desktop Developer
Applicatieplatform congres 12 & 13 maart. Modeling that works with code Preview VSTS Architect edition 2010 Marcel de Vries IT- Architect Info Support.
Thomas Ball Microsoft Research. C# 3.0C# 3.0 Visual Basic 9.0Visual Basic 9.0 OthersOthers.NET Language Integrated Query LINQ to Objects LINQ to DataSets.
Writing Unit Tests with Microsoft Fakes Copyright © Intertech, Inc Slide 1 Writing Unit Tests with Microsoft Fakes.
Test Automation: Coded UI Test
De necessariis pre condiciones consequentia sine machina P. Consobrinus, R. Consobrinus M. Aquilifer, F. Oratio.
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
An Abstract Interpretation Framework for Refactoring P. Cousot, NYU, ENS, CNRS, INRIA R. Cousot, ENS, CNRS, INRIA F. Logozzo, M. Barnett, Microsoft Research.
The Spec# programming system K. Rustan M. Leino Microsoft Research, Redmond, WA, USA Distinguished Lecture Series Max Planck Institute for Software Systems.
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
Today’s session will be recorded and available 24/7 on What's New in Q for ASP.NET AJAX.
CodeContracts & Clousot Francesco Logozzo - Microsoft Mehdi Bouaziz – ENS.
OFC 317 使用 WinWF 构建 Microsoft Office SharePoint Server 2007 中的工作流应用.
Chair of Software Engineering 1 Introduction to Programming Bertrand Meyer Exercise Session 1 22 September 2009.
LemGen (Linguistic EMulation and Generation ENgine) CS491 Project Chris Lemcke.
Introduction to the C# Programming Language for the VB Programmer.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
How Static Code Analysis can change your life (for the better) Technical overview May 2008.
Print Verifier Ashwin Needamangala Senior Test Development Lead Documents and Printing Team
An Introduction to ASP.NET Ed Dunhill blogs.msdn.com/edunhill SLIDE7.
Building Metro style apps with HTML and JavaScript Paul Gusmorino Lead Program Manager Microsoft Corporation.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
CSC 494/594 C# and ASP.NET Programming. C# 2012 C# Object-oriented language with syntax that is similar to Java.
Virtual techdays INDIA │ Nov 2010 Developing Office Biz Application using WPF on Windows 7 Sarang Datye │ Sr. Consultant, Microsoft Sridhar Poduri.
StyleCop Breaking down the barriers to entry Gary Ewan Park Twitter: Blog:
Building Metro style apps with HTML and JavaScript Paul Gusmorino Lead Program Manager Microsoft Corporation.
ADD-IN EXPRESS True RAD tools for Microsoft Office developers.
GPUG ® Summit 2011 November 8-11 Caesars Palace – Las Vegas, NV Microsoft Dynamics GP Development Tools Ask The Experts: Presenter: Mariano Gomez MIS,
* Windows Runtime Note – MSDN Documentation The namespaces are exposed using API metadata format (Windows.winmd) similar to that used.
Oct * Brad Tutterow. VS 2008.NET 3.5LINQ Entity Framework  The ADO.NET Entity Framework is part of Microsoft’s next generation of.NET technologies.
Getting Started with ASP.NET MVC BRIJ BHUSHAN MISHRA.
Verificare şi Validarea Sistemelor Soft Tem ă Laborator 1 ESC/Java2 Extended Static Checker for Java Dat ă primire laborator: Lab 1 Dat ă predare laborator:
Database Projects in Visual Studio Improving Reliability & Productivity.
The business logic engine for Microsoft IIS Speaker T.M. Arnett.
CIS 200 Test 01 Review. Built-In Types Properties  Exposed “Variables” or accessible values of an object  Can have access controlled via scope modifiers.
Virtual techdays INDIA │ November 2010 Building Visual Studio LightSwitch Application Kunal Chowdhury │ Software Engineer, Silverlight MVP.
Alex Turner Senior Program Manager Managed Languages Team Improve Your Code Quality using Live Code Analyzers.
Rong Lu Senior Program Manager, Visual Studio GPU Usage tool in Visual Studio.
Clear Lines Consulting · clear-lines.comApril 21, 2010 · 1 The Joy of Pex
Redmond Protocols Plugfest 2016 Jinghui Zhang Office Interoperability Test Tools (Test Suites and Open Source Projects) Software Engineer Microsoft Corporation.
Microsoft Chart Control
Angular 4 + TypeScript Getting Started
/* LIFE RUNS ON CODE*/ Konstantinos Pantos Microsoft MVP ASP.NET
CIS 200 Test 01 Review.
Ambulance Dispatch System
Accessible Formal Methods A Study of the Java Modeling Language
Visual Studio 2008 Abdul Rahman .Y Microsoft Student Partner.
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל-Windows 8
12/3/2018 7:56 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Application Insights Diagnostics Preview
API DOCUMENTATION Swetha Mohandas Microsoft Connect 2016
Tips & Tricks Knowing the Web Client.
Introduction to Computer Science
Visual Studio Tools for Unity 2.0 Preview
Sharing Code across Platforms with Visual Studio 2015
Introduction to ASP.NET Parts 1 & 2
Blazor A new framework for browser-based .NET apps Ryan Nowak
C# and ASP.NET Programming
11/11/2019 1:15 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
DataBase Application .NET
ASP.NET Core 2.0 The Future of Web Apps Shahed Chowdhuri
Presentation transcript:

.NET 4.0 Code Contacts

.NET 4.0 Code Contracts About Me James Newton-King Developer at Intergen Blog:

.NET 4.0 Code Contracts Agenda Validation today Introduction to Code Contracts Preconditions & Postconditions Static Analysis Invariants Interface Contracts The Future

.NET 4.0 Code Contracts Validation today Typical validation...

.NET 4.0 Code Contracts What is wrong with validation today? Ad-hoc No way to get validation rules metadata Runtime only

.NET 4.0 Code Contracts Introduction to Code Contracts New API + tools from Microsoft System.Diagnostics.Contracts MSIL rewriting Inspired by Spec# Included in.NET 4.0 but… …download available now for.NET 3.5 and VS2008

.NET 4.0 Code Contracts Preconditions & Postconditions Preconditions – Argument validation Contract.Requires Contract.RequiresAlways Contract.EndContractBlock Postconditions – Return validation Contract.Ensures Contract.Result Demo!

.NET 4.0 Code Contracts Static Analysis Compile time analysis of your code! Visual Studio Team System only :( Good Visual Studio integration Demo!

.NET 4.0 Code Contracts Invariants Invariants – Validation of object state Contract.Invariant Demo!

.NET 4.0 Code Contracts Interface Contracts You can define contracts against an interface Preconditions and postconditions inherited Implementers are warned if they dont follow the contract But how does that work? Contracts are defined in implementation...? ContractClassAttribute to the rescue! Demo!

.NET 4.0 Code Contracts Timelines Out now Code Contracts for VS2008 preview VS2010 Beta 1 Coming up Ongoing VS2008 updates VS2010 Beta 2 Year End VS2008, VS2010 final (hopefully)

.NET 4.0 Code Contracts The Future! Entire.NET Framework marked up with contract metadata Documentation generated from contracts Hopefully an API to get contract rules UI validation using code contracts And more

.NET 4.0 Code Contracts Questions Ask now, Ask me later, Or Slides Blog: