Store Devices Microsoft Surface PCs & tablets Xbox Virtual reality Accessories Windows phone Microsoft Band Software Office Windows Additional software Apps All apps Windows apps Windows phone apps Games Xbox One games Xbox 360 games PC games Windows games Windows phone games Entertainment All Entertainment Movies & TV Music Business & Education Business Store Education Store Developer Sale Back-to-school essentials Sale Products Software & services Windows Office Free downloads & security Internet Explorer Microsoft Edge Skype OneNote OneDrive Microsoft Health MSN Bing Microsoft Groove Microsoft Movies & TV Devices & Xbox All Microsoft devices Microsoft Surface All Windows PCs & tablets PC accessories Xbox & games Microsoft Band Microsoft Lumia All Windows phones Microsoft HoloLens For business Cloud Platform Microsoft Azure Microsoft Dynamics Windows for business Office for business Skype for business Surface for business Enterprise solutions Small business solutions Find a solutions provider Volume Licensing For developers & IT pros Develop Windows apps Microsoft Azure MSDN TechNet Visual Studio For students & educators Office for students OneNote in classroom Shop PCs & tablets perfect for students Microsoft in Education Support Sign in Research Research o Research Home o Research areas Algorithms Artificial intelligence and machine learning Computer systems and networking Computer vision Data visualization, analytics, and platform Ecology and environment Economics Graphics and multimedia Hardware, devices, and quantum computing Human-centered computing Mathematics o o o o o Medical, health, and genomics Natural language processing and speech Programming languages and software engineering Search and information retrieval Security, privacy, and cryptography Social Sciences Technology for emerging markets Products & Downloads Programs & Events Academic Programs Events & Conferences People Careers About About Microsoft Research blog Asia Lab Cambridge Lab India Lab New England Lab New York City Lab Redmond Lab Applied Sciences Lab Research areas o Algorithms o Artificial intelligence and machine learning o Computer systems and networking o Computer vision o Data visualization, analytics, and platform o Ecology and environment o Economics o Graphics and multimedia o Hardware, devices, and quantum computing o Human-centered computing o Mathematics o Medical, health, and genomics o Natural language processing and speech o Programming languages and software engineering o Search and information retrieval o Security, privacy, and cryptography o Social Sciences o Technology for emerging markets Products & Downloads Programs & Events o Academic Programs o Events & Conferences People Careers About o About o Microsoft Research blog o Asia Lab o Cambridge Lab o India Lab o New England Lab o New York City Lab o Redmond Lab o Applied Sciences Lab Mike Barnett Principal Research Software Design Engineer Contact Info Email Groups RiSE Working Group on Program Analysis RiSE CRX Compilers and Runtimes Working Group Programming Languages working group (PLX) About Projects Publications Videos Other About I am a Research Software Design Engineer in the Research in Software Engineering (RiSE) group. I have been with the Microsoft Corporation since July 1995. First, I was a member of the Natural Language Processing group in Microsoft Research, moving to the Foundations of Software Engineering group in the fall of 1999. I am now a member of the Research in Software Engineering (RiSE) group. Before coming to Microsoft, I had been an assistant professor of Computer Science at the University of Idaho for three years. I received my PhD in Computer Science from the University of Texas at Austin in 1992. Projects Trill Established: September 19, 2013 Trill is a high-performance in-memory incremental analytics engine. It can handle both real-time and offline data, and is based on a temporal data and query model. Trill can be used as a streaming engine, a lightweight in-memory relational engine, and… Tempe Established: September 12, 2013 Tempe is a web service for exploratory data analysis. Below are images of the notebook pages mentioned in our submission to ICSE 2014. User Experience with Big Data Big data analytics requires new workflows: high latency queries, massively-parallel code, and cloud computing infrastructures all make handling a big dataset different (and harder) than working on a local machine. We are exploring user experiences for analysts, and thinking about… Boogie: An Intermediate Verification Language Established: December 10, 2008 Boogie is an intermediate verification language, intended as a layer on which to build program verifiers for other languages. Several program verifiers have been built in this way, including the VCC and HAVOC verifiers for C and the verifiers for… Show More Publications 2016 Making Sense of Temporal Queries with Interactive Visualization Leilani Battle, Danyel Fisher, Robert DeLine, Mike Barnett, Badrish Chandramouli, Jonatahn Goldstein, Jonathan Goldstein, Rob DeLine, in Proceedings of the 34th Conference on HumanComputer Interaction (CHI 2016), ACM – Association for Computing Machinery, May 7, 2016, View abstract, View external link 2015 Trill: A High-Performance Incremental Query Processor for Diverse Analytics Badrish Chandramouli, Jonathan Goldstein, Mike Barnett, Robert DeLine, Danyel Fisher, John Platt, James Terwilliger, John Wernsing, Rob DeLine, VLDB – Very Large Data Bases, August 1, 2015, View abstract, Download PDF Helping developers help themselves: Automatic decomposition of code review changesets Mike Barnett, Christian Bird, Shuvendu Lahiri, Joao Brunet, in Proceedings of the 37th International Conference on Software Engineering, IEEE – Institute of Electrical and Electronics Engineers, May 1, 2015, View abstract, Download PDF 2014 Tempe: An Interactive Data Science Environment for Exploration of Temporal and Streaming Data Danyel Fisher, Badrish Chandramouli, Robert DeLine, Jonathan Goldstein, Andrei Aron, Mike Barnett, John Platt, James Terwilliger, John Wernsing, Rob DeLine, Microsoft Research, November 1, 2014, View abstract, Download PDF The Trill Incremental Analytics Engine Badrish Chandramouli, Jonathan Goldstein, Mike Barnett, John Wernsing, John Platt, Robert DeLine, Danyel Fisher, James Terwilliger, Rob DeLine, Microsoft Research, April 1, 2014, View abstract, Download PDF Get Me Here: Using Verification Tools to Answer Developer Questions Mike Barnett, Rob DeLine, Akash Lal, Shaz Qadeer, February 1, 2014, View abstract, Download PDF 2013 Stat! – An Interactive Analytics Environment for Big Data Mike Barnett, Badrish Chandramouli, Robert DeLine, Steven Drucker, Danyel Fisher, Jonathan Goldstein, Patrick Morrison, John Platt, Rob DeLine, in ACM SIGMOD International Conference on Management of Data (SIGMOD 2013), ACM SIGMOD, June 1, 2013, View abstract, Download PDF A case for static analyzers in the cloud Mike Barnett, Mehdi Bouaziz, Manuel Fahndrich, Francesco Logozzo, in Bytecode 2013, March 1, 2013, View abstract, Download PDF 2012 An Abstract Interpretation Framework for Refactoring with Application to Extract Methods with Contracts Patrick Cousot, Radhia Cousot, Francesco Logozzo, Mike Barnett, in Proceedings of the 27th ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA'12), ACM SIGPLAN, October 23, 2012, View abstract, Download PDF A Semantic Integrated Development Environment Francesco Logozzo, Manuel Fahndrich, Mike Barnett, Patric Cousot, Radhia Cousot, in Companion of the Proceedings of the to the 27th Annual ACM SIGPLAN Conference on ObjectOriented Programming, Systems, Languages, and Applications (OOPSLA 2012), ACM SIGPLAN, October 1, 2012, View abstract, Download PDF Integrating a Set of Contract Checking Tools into Visual Studio Manuel Fahndrich, Daan Leijen, Francesco Logozzo, Mike Barnett, in Proceedings, Proceedings of the 2012 Second International Workshop on Developing Tools as Plug-ins (TOPI 2012), IEEE, June 3, 2012, View abstract, Download PDF 2010 To Goto Where No Statement Has Gone Before Rustan Leino, Mike Barnett, in VSTTE 2010, August 1, 2010, View abstract, Download PDF Embedded Contract Languages Francesco Logozzo, Manuel Fahndrich, Mike Barnett, in ACM SAC - OOPS, Association for Computing Machinery, Inc., March 1, 2010, View abstract, Download PDF 2009 Exploiting the Synergy between Automated-Test-Generation and Programming-by-Contract Manuel Fahndrich, Francesco Logozzo, Peli de Halleux, Nikolai Tillmann, Mike Barnett, in Proc. 31st International Conference on Software Engineering (ICSE'2009) , IEEE, May 1, 2009, View abstract, Download PDF 2008 Boogie Meets Regions: a Verification Experience Report (extended version) Anindya Banerjee, Mike Barnett, David A. Naumann, May 1, 2008, View abstract, Download PDF 2006 Allowing State Changes in Specifications Mike Barnett, David A. Naumann, Wolfram Schulte, Qi Sun, in ETRICS, Springer, January 1, 2006, View abstract, Download PDF 2005 The Spec# Programming System: An Overview Mike Barnett, Rustan Leino, Wolfram Schulte, in CASSIS 2004, Construction and Analysis of Safe, Secure and Interoperable Smart devices, Springer, January 1, 2005, View abstract, Download PDF 2004 Towards a Tool Environment for Model-Based Testing with AsmL Mike Barnett, Wolfgang Grieskamp, Lev Nachmanson, Wolfram Schulte, Nikolai Tillmann, Margus Veanes, in FATES 2003, Springer Verlag, January 1, 2004, View abstract, Download PDF 2003 Serious Specification for Composing Components Mike Barnett, Wolfgang Grieskamp, Clemens Kerer, Wolfram Schulte, Clemens Szyperski, Nikolai Tillmann, Arthur Watson, in Proceedings of the 6th ICSE Workshop on ComponentBased Software Engineering: Automated Reasoning and Prediction, May 1, 2003, View abstract, Download PDF Runtime Verification of .NET Contracts Mike Barnett, Wolfram Schulte, in The Journal of Systems and Software, Elsevier, January 1, 2003, View abstract, Download PDF Validating Use-Cases with the AsmL Test Tool Wolfram Schulte, Nikolai Tillmann, Margus Veanes, Mike Barnett, in QSIC, IEEE Computer Society, January 1, 2003, View abstract, Download PDF Model-Based Testing with AsmL .NET Mike Barnett, Wolfgang Grieskamp, Lev Nachmanson, Wolfram Schulte, Nikolai Tillmann, Margus Veanes, in 1st European Conference on Model-Driven Software Engineering, January 1, 2003, View abstract, Download PDF 2002 Contracts, Components, and their Runtime Verification on the .NET Platform Mike Barnett, Wolfram Schulte, April 1, 2002, View abstract, Download PDF 2001 The ABCs of Specification: AsmL, Behavior, and Components Mike Barnett, Wolfram Schulte, in Informatica, November 1, 2001, View abstract, Download PDF Spying on Components: A Runtime Verification Technique Mike Barnett, Wolfram Schulte, in Workshop on Specification and Verification of ComponentBased Systems, October 1, 2001, View abstract, Download PDF Conformance Checking of Components Against Their Non-deterministic Specifications Mike Barnett, Lev Nachmanson, Wolfram Schulte, June 1, 2001, View abstract, Download PDF 2000 Using Abstract State Machines at Microsoft: A Case Study Yuri Gurevich, Wolfram Schulte, Margus Veanes, Mike Barnett, in Abstract State Machines, Springer, January 1, 2000, View abstract, Download PDF Projects Link description Making Sense of Temporal Queries with Interactive Visualization Date February 12, 2016 Other What I Do Tempe: An environment for doing interactive data analytics. Check out our video! And there’s a blog post describing how Trill and Tempe are being used. Trill: A streaming query processor. It is the fastest in the world. Seriously. Cluster Changes: Improving the process of code review. See our paper “Helping Developers Help Themselves” at ICSE 2015. What I Did Code Contracts: a language-agnostic way to express specifications in any .NET language. Specifications include method preconditions, postconditions, and object invariants. Code Contracts capture programmer intentions about how methods and data are to be used. You can install the tools from the VS Gallery. And now it has been open-sourced and available at GitHub. CCI: The Common Compiler Infrastructure is the framework to use if you are doing anything related to .NET binaries, either creating them from scratch, modifying existing ones, or just mining them for information. It is open-source and available at CodePlex. ILMerge: a static linker for .NET assemblies. Spec#: an experimental extension to C# that adds contract features such as method preand postconditions and object invariants. It also has a non-null type system. The Spec# compiler emits run-time checks that enforce the contracts and the Spec# program verifier uses theorem-proving technology to statically check the consistency between a program and its contracts. Spec# helps programmers write correct software and makes explicit the correct usage of APIs for clients. It is integrated into Visual Studio .NET. It is available as an open source project. Follow Microsoft Research Follow @MSFTResearch Share this page Tweet Learn Windows Office Skype Outlook OneDrive MSN Devices Microsoft Surface Xbox PC and laptops Microsoft Lumia Microsoft Band Microsoft HoloLens Microsoft Store View account Order tracking Retail store locations Returns Sales & support Downloads Download Center Windows downloads Windows 10 Apps Office Apps Microsoft Lumia Apps Internet Explorer Values Diversity and inclusion Accessibility Environment Microsoft Philanthropies Corporate Social Responsibility Privacy at Microsoft Company Careers About Microsoft Company news Investors Research Site map English (United States) Contact us Privacy & cookies Terms of use Trademarks About our ads © 2016 Microsoft ​