Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Research in Software Engineering (RiSE)

coordinates Microsoft's Research in Software Engineering in Redmond, USA. Our mission is to advance the state of the art in Software Engineering and to bring those advances to Microsoft’s businesses.

We are organized in five working groups spanning Compilers and Runtimes, Empirical Software Engineering, Formal Methods, Program Analysis, and Programming Languages, working on a variety of themes/projects:

Modeling and Design 

  Advanced Graph Layout, DKAL, Formula

Synthesis

 

Flash Fill for Excel, Program synthesisJennisys 

Compilers

 

CCI, TAL

Languages

 

Polymorphism, TouchDevelop

Verification

 

Boogie, Code contracts, Dafny, F*, VCC

Testing 

  Automatic test generation, Moles, Pex

Runtime Reliability

  RobustHeap, ToleRace, Yarra

Performance 

 

SPUR  

Symbolic Methods

  Automata, BEK, Duality, Rex, SymDiff, Z3

Browser/JavaScript

 

IBEX, JSZap, JSMeter, Nozzle/Zozzle, RePriv 

    Concurrency & Parallelism

 

Chalice, CHESS, Cuzz, Revisions, Memory models

Measurement and Prediction

 

Reliability, ProcessEmpirical studies 

User Studies

  Games

 

In the News

Awards

Overviews

Play with RiSE tools at www.rise4fun.com  

Sources

Downloads
Z3: an automated theorem prover Pex: parameterized unit testing
Boogie language/tool for program verification tools Automata: symbolic automata

 

Dafny: a verification-oriented programming language

F*: verification of functional programs

CCI: Common compiler infrastructure

Code contracts
CHESS: systematic concurrency testing Advanced graph layout
VCC: verification of concurrent C programs

People

The RiSE team consists of 30+ passionate researchers and developers.

Publications

    2015

    • Emerson Murphy-Hill, Thomas Zimmermann, Christian Bird, and Nachiappan Nagappan, The Design Space of Bug Fixes and How Developers Navigate It, in IEEE Transactions on Software Engineering, IEEE – Institute of Electrical and Electronics Engineers, December 2015
    • Abram Hindle, Christian Bird, Thomas Zimmermann, and Nachiappan Nagappan, Do Topics Make Sense to Managers and Developers?, in Empirical Software Engineering, Springer, December 2015
    • Margus Veanes and Nikolaj Bjørner, Symbolic Tree Automata, in Information Processing Letters, vol. 115, no. 3, pp. 418-424, Elsevier, March 2015
    • Margus Veanes, Todd Mytkowicz, David Molnar, and Benjamin Livshits, Data-Parallel String-Manipulating Programs, in POPL 2015: 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM – Association for Computing Machinery, January 2015
    • Robert A Cochran, Loris D’Antoni, Benjamin Livshits, David Molnar, and Margus Veanes, Program Boosting: Program Synthesis via Crowd-Sourcing, in POPL 2015: 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM – Association for Computing Machinery, January 2015

    2014