Microsoft Research has a range of Microsoft Visual Studio tools that aid in programming safe and secure code. These tools bring programs alive for every skill level, from games to help young developers get started in a new language, to analysis engines operating at the highest level that enhance the power and usability of Microsoft's premier development environment.

On this page, you will find powerful, visual, and easy to use developer tools that use the power of Visual Studio to help you accomplish your research goals.

Tools

The Fakes framework runs in Visual Studio Ultimate and helps developers create, maintain, and inject dummy implementations in their unit tests. Fakes makes development more robust and scalable when individual components are tested in isolation.

Code Contracts provide a language-agnostic way to express coding assumptions in Microsoft .NET programs in all versions of Visual Studio. The Code Contracts tools include a runtime checker, a static checker based on abstract interpretation, and a documentation generator.

Social for Team Foundation Server (Social for TFS) is a community add-on for Visual Studio to aggregate teammates’ content from various social sites, such as Facebook, LinkedIn and Twitter, into the developer’s workspace. Social for TFS is developed in C# and available under MPL license.

Microsoft Automatic Graph Layout (MSAGL) is a tool in Visual Studio Ultimate for graph layout and viewing. MSAGL can be used to represent complex directed graphs, such as those found in business management, manufacturing, network analysis, and bioinformatics research.

Debugger Canvas is used for debugging programs in Visual Studio Ultimate. It visually brings together the code being explored into a single pan-and-zoom code bubbles display. Debugger Canvas helps to see variables through the code bubbles, make notes and see the bigger picture in one place.

Pex4fun brings programming in C#, Microsoft Visual Basic, and F# to any web browser. Pex4Fun is an interactive coding game environment where the player discovers a secret program. Pex4fun is based on Code Contracts and the unit testing tool Pex, which runs in Visual Studio.

Try F# is a web browser–based interactive cross-platform learning environment. It features tutorials and resources for learning F#, which is a functional language ideal for data-rich, concurrent, and algorithmic development. The full power of F# is available in Visual Studio.

Related Links

"Debugger Canvas demonstrates the possibilities of debugging of the future and will help break us out of this rut we are in with our debugging tools. My view is that Debugger Canvas is the start of 21st Century debugging."

John Robbins Co-founder, Wintellect

"Try F# made it possible to have a hands-on tutorial, [because we couldn’t expect everybody to show up with Visual Studio installed.] Having a web-based version of F# made it possible for everybody to write some F# code, run it and get a feel for how coding in F# works."

Niels Nygaard Professor, Department of Mathematics, University of Chicago

Developer Tools for Where You Are Now and Where You Need to Be

Powerful

Collaboration can be crucial to successful research. These tools amplify Visual Studio so that team members can see what others are doing, can communicate freely, and with powerful analysis engines can set up early warning systems that trigger when non-functional requirements such as performance or security are compromised.

Visual

Visualization of code is one of the key ways to help programmers discover and quickly repair errors and efficiencies. These tools keep the size of the visualizations meaningful and manageable so corrections can be made easily. They can also be used with large touch screens that bring the code to life.

Easy to Use

To help decide if Visual Studio is the right solution, test drive some of the tools right from the browser on any platform—Windows, Mac, or Linux. These special tools provide an easy on-ramp to Visual Studio and are loaded with online tutorials, a gaming environment, and classroom tools for teaching. The multi-browser environment helps accessibility for many communities, making these tools extremely popular.