|
|
|
RIGOROUS SOFTWARE ENGINEERING
|
|
overview
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.
|
|
projects
Yogi
is a software property checking
project. Our goal is to build a scalable software property
checker by systematically combining testing with static analysis
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
Clarity is a new
programming language to help write asynchronous event driven
code in an analyzable way
Tark is a specification
mining project that leverages program analysis and data mining
techniques to extract API usage specification in client 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
|
|
publications
-
Enforcing Object
Protocols by Combining Static and Dynamic
Analysis. Madhu Gopinathan and
Sriram K. Rajamani. To appear in OOPSLA '08:
ACM SIGPLAN Conference on Object Oriented
Programming, Systems, Languages and Applications,
October 2008
-
Global Software
Servicing. Shilpa Bugde, Nachi
Nagappan, Sriram K. Rajamani and Ganesan Ramalingam.
To appear in IGCSE '08: International Conference on
Global Software Engineering, October 2008
-
Proofs from Tests.
Nels E.
Beckman, Aditya V. Nori, Sriram K. Rajamani and
Robert J. Simmons.
To appear in ISSTA '08: International
Symposium on Software Analysis and Testing,
July 2008
-
Heap
Decomposition for Concurrent Shape Analysis.
Roman Manevich, T. Lev-Ami,
Mooly Sagiv, Ganesan Ramalingam and Josh
Berdine. To appear in SAS '08:
Static Analysis Symposium, July 2008
-
Thread Quantification for Concurrent Shape
Analysis. Josh Berdine, T. Lev-Ami,
Roman Manevich, Ganesan Ramalingam and Mooly
Sagiv. To appear in CAV '08: Computer Aided
Verification, July 2008
-
A Type System for
Data-Flow Integrity on Windows Vista.
Avik Chaudhuri, Prasad Naldurg and Sriram K.
Rajamani. To appear in PLAS '08: ACM Workshop on
Programming Languages and Analysis for Security,
June 2008 (also to appear in ACM SIGPLAN
notices as one of "two top papers of PLAS 2008")
-
Runtime Monitoring of Object Invariants with
Guarantee. Madhu Gopinathan
and Sriram K. Rajamani. In RV '08: 8th Workshop on Runtime
Verification,
March 2008
-
Refining Abstract Interpretations.
Bhargav S. Gulavani, Supratik Chakraborty,
Aditya V. Nori and Sriram K. Rajamani. In TACAS '08: 14th International
Conference on Tools and Algorithms for the
Construction and Analysis of Systems,
March 2008
-
Recovering Data Models Via Guarded Dependences.
Raghavan Komondoor and Ganesan Ramalingam.
In WCRE '07: 14th Working Conference on Reverse Engineering,
October 2007
- Parametric Process Model Inference.
Saurabh Sinha, Ganesan Ramalingam and Raghavan Komondoor.
In WCRE '07: 14th Working Conference on Reverse
Engineering,
October 2007
- Connections between
mining frequent itemsets and learning
generative models.
Srivatsan Laxman, Prasad Naldurg, Raja
Sripada, and Ramarathnam Venkatesan. In
ICDM '07:
the Seventh IEEE International Conference
on Data Mining, October 2007
-
Programming Asynchronous Layers with CLARITY.
Prakash Chandrasekaran, Christopher L.
Conway, Joseph M. Joy and Sriram K.
Rajamani. In the 6th
joint meeting of the European Software
Engineering Conference and the ACM SIGSOFT
Symposium on the Foundations of Software
Engineering, September 2007 (Nominated
for ACM SIGSOFT Distinguished Paper award)
-
Quantifying the Effectiveness of Testing via
Efficient Residual Path Profiling.
Trishul M. Chilimbi, Aditya V. Nori and
Kapil Vaswani. In the 6th
joint meeting of the European Software
Engineering Conference and the ACM SIGSOFT
Symposium on the Foundations of Software
Engineering, September 2007 (ACM
SIGSOFT Distinguished Paper)
- Effective Typestate Verification in the
Presence of Aliasing.
Stephen Fink, Eran Yahav,
Ganesan Ramalingam, Nurit Dor, and Emmanuel
Geay. In ACM Transactions on
Software Engineering and Methodology,
2007
- On the Complexity of
Partially-Flow-Sensitive Alias Analysis.
Noam Rinetzky, Ganesan Ramalingam, Mooly
Sagiv and Eran Yahav. In ACM
Transactions on Programming Languages and
Systems, 2007
- Verification of Object-Relational Maps.
Krishna K. Mehra, Sriram K. Rajamani, A.
Prasad Sistla and Sumit K. Jha.
In SEFM '07:
5th IEEE International Conference on
Software Engineering and Formal Methods,
September 2007
-
Abstract Counterexample-based Refinement for Powerset Domains.
Roman Manevich, John Field, Thomas. A. Henzinger, Ganesan Ramalingam and Mooly Sagiv.
In Program Analysis and Compilation, Theory and Practice: Essays Dedicated to Reinhard
Wilhelm,
LNCS 4444, 2007
- Distributed Enforcement
of Unlinkability Policies: Looking Beyond
the Chinese Wall. Apu
Kapadia, Prasad Naldurg, and Roy H.
Campbell. In Policy '07:
Proceedings of the Eighth IEEE Workshop on
Policies for Distributed Systems and
Networks, June 2007
- Software Integrity
Checking Expressions (ICEs) for Robust
Tamper Detection. Mariusz Jakubowski,
Prasad Naldurg, Vijay Patankar, Ramarathnam
Venkatesan.
In IH '07: 9th Information Hiding
Symposium, June 2007
-
Shape Analysis by Graph Decomposition.
Roman Manevich, Josh Berdine, Byron Cook, Ganesan Ramalingam and Mooly Sagiv.
In TACAS '07: 13th International Conference on Tools
and Algorithms for Construction and Analysis of Systems,
March 2007
-
Modular Shape Analysis
for Dynamically Encapsulated Programs.
Noam Rinetzky, A. Poetzsch-Heffter, Ganesan Ramalingam, Mooly Sagiv, and Eran Yahav.
In ESOP '07: 16th European
Symposium on Programming, March
2007
-
Preferential Path Profiling:
Compactly Numbering Interesting Paths.
Kapil Vaswani, Aditya V. Nori and Trishul M.
Chilimbi. In POPL '07: 34th Annual Symposium on Principles
of Programming Languages,
January 2007
-
Synergy: A new algorithm for
property checking.
Bhargav S. Gulavani, Thomas A. Henzinger,
Yamini Kannan, Aditya V. Nori and Sriram K.
Rajamani.
In FSE '06: 14th Annual Symposium on Foundations
of Software Engineering,
November 2006
-
NETRA: Seeing Through Access
Control.
Prasad Naldurg, Stefan Schwoon, Sriram Rajamani and John Lambert.
In FMSE '06: 4th ACM Workshop on Formal Methods in Security Engineering:
From Specifications to Code, November 2006
-
SPACE: Secure Protocol for
Address Book based Connection Establishment.
Ganesh Ananthanarayanan, Ramarathnam Venkatesan, Prasad Naldurg, Sean Blagsvedt,
and Adithya Hemakumar.
In HotNets '06: Fifth ACM Workshop on Hot
Topics in Networks, November 2006
-
Counterexample driven Refinement
for Abstract Interpretation.
Bhargav S. Gulavani
and Sriram K. Rajamani. In
TACAS '06: 12th International Conference on Tools and
Algorithms for the Construction and Analysis of Systems,
March 2006
|
|
Copyright notice:
This material is presented to ensure timely dissemination of
scholarly and technical work. Copyright and all rights therein
are retained by authors or by other copyright holders. All
persons copying this information are expected to adhere to the
terms and constraints invoked by each author's copyright. In
most cases, these works may not be reposted without the explicit
permission of the copyright holder.
|
|
alumni
-
Lakshmisubrahmanyam Velaga (IIM Bangalore)
visitors
- Interns
-
2008: Jyotirmoy Deshmukh (UT Austin),
Bhargav S. Gulavani (IIT Bombay) and Michael Tschantz (CMU)
-
2007: Nels E. Beckman (CMU), Shilpa Bugde
(SCIT, Pune), Pavol Cerny (UPenn), Pallavi Joshi (UC
Berkeley), Akash Lal (U Wisconsin), Robert J. Simmons (CMU), Christian Stefansen
(DIKU) and Pushkar Tripathi (IIT Delhi)
- 2006: Avik Chaudhuri (UC Santacruz), Prakash
Chandrasekaran (CMI), Chris Conway (NYU), Madhu
Gopinathan (IISc Bangalore), Bhargav S. Gulavani (IIT
Bombay), Sumit Jha (CMU), Roman Manevich (Tel Aviv),
and Kapil Vaswani (IISc Bangalore)
- 2005: Bhargav S. Gulavani (IIT Bombay) and
Aditya Parameswaran (IIT Bombay)
|
|
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).
|
|
|
|