Portrait of Aditya Nori

Aditya Nori

Principal Researcher


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.




Program committees

Invited talks



  • 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


  • 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


  • 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


  • 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


  • 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


  • 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


  • 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


  • 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