Share this page
Share this page E-mail this page Print this page RSS feeds
Home > Groups > Rigorous Software Engineering
Rigorous Software Engineering

Our goal is to study software engineering issues in developing large scale software systems. We work on tools, languages and methodologies to dramatically increase the productivity of software development. We are interested in both analysis tools for existing software, as well as in asking questions about how software of the future should be designed.

Current focus

Our current focus is on three areas.

  • PASTA = Program Analysis + Statistics
    We are working on a variety of techniques that combine information from programs together with a large amount of data about development process, as well data from users to help handle the information overload associated with large projects (See projects: Tark, HolmesMerlin and DebugAdvisor)
  • Constructive Concurrency
    We are working on new techniques that help programmers write correct concurrent programs by construction (See projects: Isolator, WYPIWYG, Clarity projects)
  • Combining Static  Analysis and Testing
    We are working on combining static analysis with testing to find bugs in programs and also guarantee certain properties about programs. The combination of static analysis and testing techniques enables us to scale the techniques to larger programs, and solve new problems (See projects: Yogi, InvCop, Darwin)

Past projects

In the past, we have worked on the following projects:

  • Preferential Path Profiling (PPP) is a joint project with the RAD group at MSR. PPP is a novel scheme for efficiently profiling paths in programs
  • Netra is a static analysis tool to analyze access control configuration information. It can be used to identify potential vulnerabilities at the level of configuration metadata
Recent Publications

Click here for a full publication list

Alumni

  • Kanika Nema
  • Krishna K. Mehra (Consultant)
  • Aditya V. Thakur (Wisconsin)
  • Lakshmisubrahmanyam Velaga (IIM Bangalore)

Visitors

Interns

Careers

Microsoft Research India offers an unparalleled opportunity to conduct innovative and cutting-edge research and to see your research results improve the software used by most of the world. Microsoft Research’s agenda combines world-class research together with our academic colleagues and a unique opportunity to put ideas into practice by working with Microsoft product groups. Researchers at Microsoft Research have an unequalled opportunity to conduct fundamental research with few resource constraints, publish in leading academic conferences, and at the same time, influence and improve software development in the world’s largest software company and its customers.

We are still interviewing for researchers in the Rigorous Software Engineering group. You can apply here. If you know us from prior interactions, please send email to sriram@microsoft.com. We get a lot of email from people who do not really have a research background, so please be considerate of our time when you send email.

We welcome applicants from all over the world, regardless of nationality. India, and in particular Bangalore, is booming with fresh energy and opportunities! If you have ever considered living in India, or returning to live in India, now is the time to apply!

We are also looking for interns throughout the year. We are fairly flexible about when we can start and end internships. For internships, please apply here (Select the "Rigorous Software Engineering" group).

News