InfoQ

Interview

Rustan Leino and Mike Barnett on Spec#

Interview with Rustan Leino & Mike Barnett by Greg Young on Aug 21, 2008 02:22 AM

Community
.NET
Topics
Programming ,
.NET Framework
Tags
Spec#
Summary
Greg Young sat down with Rustan Leino and Mike Barnett of Microsoft Research to discuss Spec#. Spec# is a superset of C# and allows developers to impose contracts on their own code and verify it. This benefits developers by allowing them to find their own errors sooner saving time and resources.

Bio
Rustan Leino and Mike Barnett are part of an academic research time within Microsoft Research focused on programming languages and methods.
This is Greg Young at InfoQ and I am here with Rustan Leino and Mike Barnett to talk about Spec#. What is Spec#?
Could you explain what Boogie is and how Boogie actually works?
What could Spec# bring to software development as a whole?
How would Spec# differ from Eiffel?
Do you stop testing your contractual invariants in your unit tests and focus on your behaviors?
I heard of another related project called Pex. Could you explain a bit about Pex and how it relates to Spec#?
Currently Microsoft has a whole lot of existing code that is the .NET framework. Have you guys done any work introducing contracts to that code?
In terms of the future of Spec#, where do you see it going or where would you like to see it going?
If I wanted to use Spec#, what are my currently available options?
When looking at the 3.0 features, are there any features that came in that are especially difficult for you to try to implement in Spec#?
show all  show all

No comments

Reply

Exclusive Content

Dan Farino About MySpace’s Architecture

Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.

The Maxine VM

Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.

Joe Armstrong About Erlang

Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.

The Limits of Code Optimization: a new Singleton Pattern Implementation

The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Pressure and Performance – The CTO's Dilemma

Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.

Biztalk Services in the Cloud

Cloud computing feels like a tomorrow technology. Simon Thurman shows how developers can use Biztalk to create an Internet Service Bus which can be deployed locally or in the cloud.

Java FX Technology Preview

InfoQ takes a look at the JavaFX preview build and talks to Sun Staff Engineer Joshua Marinacci about the upcoming version 1 release expected this autumn.

Jeff Sutherland: Reaching Hyper-Productivity with Outsourced Development Teams

Jeff Sutherland, co-creator of Scrum, and Guido Schoonheim, CTO of Xebia, present an actual case of reaching hyper-productivity with a large distributed team using XP and Scrum.