Portrait of Aditya Nori

Aditya Nori

Principal Researcher

About

I am a member of the Machine Intelligence and Perception group at Microsoft Research Cambridge.

My interests are in the design and analysis of reliable intelligent systems, and I am currently working on AI-based productivity tools for cancer treatment (see The InnerEye Project) .

In the past, I have worked on exploring various synergies between programming languages and machine learning: a) ML4PL: the use of machine learning techniques in program verification, specification inference via Bayesian analysis, and b) PL4ML: probabilistic programming via program analysis, and productivity tools for machine learning tasks. I have also built a number of programmer productivity tools, and this includes the Yogi software model checker for device drivers, and the R2 probabilistic programming system.

Projects

R2: A Probabilistic Programming System

Established: July 16, 2013

What is R2? R2 is a probabilistic programming system that uses powerful techniques from program analysis and verification for efficient Markov Chain Monte Carlo (MCMC) inference. The language that is used to describe probabilistic models in R2 is based on C#.R2 compiles the given model into executable code to generate samples from the posterior distribution. The inference algorithm currently implemented in R2 is a variation of the Metropolis-Hastings sampling algorithm. Getting R2 Click on this…

Infer.NET Fun

Established: April 2, 2012

"I think it's extraordinarily important that we in computer science keep fun in computing." Alan J. Perlis - ACM Turing Award Winner 1966. Infer.NET Fun turns the simple succinct syntax of F# into an executable modeling language for Bayesian machine learning. We propose a marriage of probabilistic functional programming with Bayesian reasoning. Infer.NET Fun turns F# into a probabilistic modeling language – you can code up the conditional probability distributions of Bayes’ rule using F# array…

InnerEye – Medical Imaging AI to Empower Clinicians

Established: October 7, 2008

InnerEye is a research project that uses state of the art artificial intelligence to build innovative image analysis tools to help doctors treat diseases such as cancer in a more targeted and effective way. "...We are pursuing AI so that we can empower every person and every institution that people build with tools of AI so that they can go on to solve the most pressing problems of our society and our economy. That’s the…

The Yogi Project

Established: August 1, 2007

Yogi is a research project within the Rigorous Software Engineering group at Microsoft Research India on software property checking. Our goal is to build a scalable software property checker by systematically combining static analysis with testing. We believe that this synergy of testing and static analysis can be harnessed to efficiently validate software.

Publications

2017

2016

2015

2014

2013

2012

2011

2010

Proofs from Tests
Nels E. Beckman, Aditya Nori, Sriram Rajamani, Robert J. Simmons, Sai Deep Tetali, Aditya V. Thakur, in IEEE Transactions on Software Engineering (special issue on the ISSTA 2008 best papers), IEEE, March 1, 2010, View abstract, Download PDF

2009

2008

2007

2006

2005

2004

2003

2002

2001

2000

1998

Other

Program committees

Invited talks

Interns/Students

2017

  • Siddharth Ancha (CMU): Deep learning for medical image analysis
  • Andrew Fowler (U. Cambridge): Standardisation techniques for medical images
  • Konstantinos Kamnitsas (Imperial College London): Deep learning for medical image analysis
  • Rosalind Keates (Durham University): Feedback decision forests
  • Ryutaro Tanno (UCL): Deep learning for medical image analysis
  • Louisa Nash (Durham University): Feedback decision forests
  • Yao Qin (UC San Diego): Deep learning for medical image analysis
  • Calvin Smith (U. Wisconsin): Debugging decision forests

2016

  • Siddharth Ancha (U. Toronto): Online learning for decision forests
  • Burcin Cakir (Princeton University): Online learning for decision forests
  • Konstantinos Kamnitsas (Imperial College London): Deep learning for medical image analysis

2015

  • Siddharth Ancha (IIT Guwahati): Robust Neural Networks
  • Osbert Bastani (Stanford University): Robust Neural Networks
  • Leonidas Lampropoulos (UPenn): Robust Neural Networks
  • Kuldeep Singh Meel (Rice University): Robust MCMC sampling

2014

  • Aleksandar Chakarov (UC Boulder): Debugging machine learning tasks
  • Sulekha Kulkarni (Georgia Tech): Probabilistic programming
  • Shayak Sen (CMU): Debugging machine learning tasks
  • Vipul Venkataraman (IIT Bombay): Hamiltonian Monte Carlo sampling
  • Deepak Vijaykeerthy (IIT Madras): Debugging machine learning tasks

2013

  • Aparna Garimella (IIT Madras): Probabilistic programming
  • Sherjil Ozair (IIT Delhi): Synthesis of probabilistic programs
  • Selva Samuel (Anna University): Probabilistic programming with R2
  • Varun Tulsian (IISc Bangalore): Multiplexing program verifiers

2012

  • Arun Chaganty (Stanford University): Efficiently Sampling Probabilistic Programs via Program Analysis
  • Prasanth Chatarasi (IIT Hyderabad): Techniques for Combining Testing and Verification for Efficient Assertion Checking in Sequential Programs (Btech thesis)
  • Ravi Chirravuri (BITS Pilani): Scalability Heuristics for Program Verification (Btech thesis)
  • Guillaume Claret (ENS, Paris): Bayesian Inference for Probabilistic Programs via Symbolic Execution
  • Christian von Essen (Verimag, Grenoble): MCMC Sampling for Probabilistic Programs
  • Sivakanth Gopi (IIT Bombay): Compressed Sensing
  • Rahul Sharma (Stanford University): Program Termination via Machine Learning
  • Abhishek Udupa (UPenn): Distributed Software Model Checking

2011

  • Aws Albarghouthi (University of Toronto): Parallelizing Top-Down Interprocedual Analysis
  • Arun Chaganty (IIT Madras): Statistical Relational Learning
  • Vijay Victor D’Silva (Oxford University): Probabilistic Abstract Interpretation
  • Garvit Juniwal (IIT Bombay): Quantitative Label Inference
  • Robert J. Simmons (CMU): Sematics of Probabilistic Programs

2010

  • Nels E. Beckman (CMU): Specification inference for Plural
  • Abhishek Katyal (IIT Delhi): Automatic generation of environment models for software model checking
  • Matthias Heizmann (University of Frieburg): Verification of concurrent programs
  • Rahul Sharma (IIT Delhi): Relevance heuristics for software model checking (Btech thesis)
  • Rahul Srinivasan (IIT Bombay): Quantified Boolean Formulae solving
  • Zachery Tatlock (UCSD): Testing concurrent programs

2009

2008

2007

2006