TOPI 2013: 3rd Workshop on Developing Tools as Plug-ins

             ICSE 2013 Workshop, San Francisco, May 21st, 2013

Return to ICSE 2013

Dustin Campbell, Microsoft


Project Roslyn: Exposing the C# and VB compilers’ code analysis


Until now, the VB and C# compilers have been used as black boxes. You put text in, and you get out a binary file. In our long-lead project, codename “Roslyn”, we are changing that dynamic by building an API that exposes our compilers’ analysis engines. In this information-packed session, we’ll cover the goals of the Roslyn project and go in-depth into the powerful set of APIs for building "code aware" tools and extensions. We’ll also cover some of the major Roslyn APIs in depth. Armed with this knowledge, we'll see how easy it is to leverage the APIs to analyze and generate C# and VB source code or add C# scripting support to an application.



Dustin Campbell is a senior program manager on the Visual Studio team, where he works on the Visual Basic and C# language service experiences. Currently, he is focused on the future of Visual Basic and C# as part of Project Codename Roslyn. Before joining Microsoft, he developed much of the low-level plumbing of the award-winning CodeRush and Refactor! products at DevExpress. A regular speaker, Dustin is a noted authority in many advanced areas of the Microsoft .NET Framework and dives deep “under the hood” of any technology that he works with.


Dustin is a programming language nut. His favorite color is blue.

  1. 2:00-2:20: Challenges in Developing a Software Architecture Evolution Tool as a Plug-in; Jeffrey M. Barnes; David Garlan

  1. 2:20-2:40: Towards Accessible Integration and Deployment of Formal Tools and Techniques; Andrei Lapets; Richard Skowyra; Azer Bestavros; Assaf Kfoury

  1. 2:40-3:00: Integrating S6 Code Search and Code Bubbles; Steven Reiss

  1. 3:00-3:20: A Visual Studio Plug-in for CProver; Mohamed Nassim Seghir; Daniel Kroening

  1. 3:20-3:35: A Rigorous Methodology for Analyzing and Designing Plug-ins (short paper); Anne Haxthausen; Joseph Kiniry; Marieta Fasie

  1. 3:35-3:50: Lightweight Tool Coordination: Path* - a minimal framework for coordinating (short paper); Reid McKenzie; Dewayne Perry


  9:00 - 10:30: Welcome & Keynote

  12:30 - 2:00: Lunch


  11:00 - 12:30: Session 1

9:00-9:30: Michael Barnett and Martin Nordio - Welcome to TOPI 2013

9:30-10:30 Dustin Campbell (Microsoft): Project Roslyn: Exposing the C# and VB compilers’ code analysis

  10:30 - 11:00: coffee break

  1. 11:00-11:20: Domain-Specific Plugins for Modelling Platforms: the Good, the Bad, and the Ugly; Lionel Montrieux; Yijun Yu; Michel Wermelinger

  1. 11:20-11:40: TerraME GIMS: an Eclipse plug-in for environmental modeling; Tiago Lima; Tiago Carneiro; Sergio Donizete Faria; Pablo Silva; Miguel Pessoa

  1. 11:40-12:00: ReFit - a Fit Test Maintenance Plugin for the Eclipse Refactoring Plugin; Martin Kropp; Michael Druk

  1. 12:00-12:20: A CPI Breakdown Model Plug-in for Optimizing Application Performance; Rodrigo Fraxino Araujo; Daniel Barboza; Rafael Sene; Rafael Teixeira; Renato Joao; Wainer Moschetta

  2:00 - 4:00: Session 2

  4:00 - 4:30: coffee break

  4:30 - 6:00: Informal discussion: Successful tools as plug-ins and their challenges

All participants are welcome to demonstrate their tools. The demos should be about 5-10 minutes. Contact Michael Barnett and Martin Nordio if you are interested in presenting your tool.

Demos (partial list):

  1. Lionel Montrieux - rbacUML: Modelling and verification of RBAC policies on UML models

  2. Joseph Kiniry - eRAISE: an eclipse environment for the RAISE tool suite

  7:30 - 9:30: Dinner at Sens