Interests

  • Sparkz: Can an AI build itself?
  • 20n: Can software design new organisms?
  • PhD: Can software write code?

Activities

  • Founder/CEO, Sparkz (2017-present): Marketplace for AIs.

    Aiming to have a neural programmer, and self-hosting AI online by 2020.

  • Founder/CEO, 20n (2012-16): Backed by DARPA, Y Combinator and Khosla Ventures.

    We engineered a yeast to eat sugar and make acetaminophen (Tylenol). Acetaminophen comes from petroleum. This was the first organism on the planet to make it sustainably. We open-sourced 20n/act, a platform for predicting synthetic biology DNA edits. We built 40+ next-generation organisms for DARPA, and two Fortune 500 companies.

  • Postdoc, UC Berkeley (2010-12): Program synthesis and synthetic biology.

    We showed that software can predict useful genetic engineering. Specifically for industrial biotech, it can predict all viable constructs worth engineering given current knowledge of biology. Exhaustively enumerating this space leads to between 10,000-20,000 products, with millions of total DNA designs.

  • PhD, University of Maryland, College Park (2006-10): Program synthesis.

    We showed that if you can verify (i.e., algorithmically read) a program then you can synthesize (i.e., algorithmically write) it as well. PhD thesis: Chapter 4. Worked for small programs. Could produce provably correct programs where you could write down their required specification precisely.

Press

Patents

Publications

Google scholar, ACM

  • Satisfiability-based Program Reasoning and Program Synthesis [ pdf ]
    PhD dissertation, May 2010, University of Maryland, College Park

  • Synthesis of Biological Models from Mutation Experiments [ acm | pdf ]
    Ali Sinan Köksal, Yewen Pu, Saurabh Srivastava, Rastislav Bodík, Jasmin Fisher, Nir Piterman
    40th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’13)

  • Template-based Program Verification and Program Synthesis [ springer | pdf ]
    Saurabh Srivastava and Sumit Gulwani and Jeffrey S. Foster
    Journal on Software Tools for Technology Transfer 2012 (STTT’12)

  • Synthesis of first-order dynamic programming algorithms [ acm | pdf ]
    Yewen Pu, Rastislav Bodik, Saurabh Srivastava
    Object Oriented Programming, Systems, Languages, and Applications 2011 (OOPSLA’11)

  • Parallel Programming with Inductive Synthesis [ acm | pdf ]
    Shaon Barman, Rastislav Bodik, Sagar Jain, Yewen Pu, Saurabh Srivastava, Nicholas Tung
    Hot Topics in Parallel Computing 2011 (HotPar’11)

  • Path-based Inductive Synthesis for Program Inversion [ acm | pdf ]
    Saurabh Srivastava and Sumit Gulwani and Swarat Chaudhuri and Jeffrey S. Foster
    Programming Languages Design and Implementation 2011 (PLDI’11)

  • From Program Verification to Program Synthesis [ acm | pdf ]
    Saurabh Srivastava and Sumit Gulwani and Jeffrey S. Foster
    Principles of Programming Languages 2010 (POPL’10)

  • VS3: SMT Solvers for Program Verification [ pdf ]
    Saurabh Srivastava and Sumit Gulwani and Jeffrey S. Foster
    Computer Aided Verification 2009 (CAV’09: Tools Paper)

  • Program Verification using Templates over Predicate Abstraction [ acm | pdf ]
    Saurabh Srivastava and Sumit Gulwani
    Programming Languages Design and Implementation 2009 (PLDI’09)

  • Constraint-based Invariant Inference over Predicate Abstraction [ acm | pdf ]
    Sumit Gulwani and Saurabh Srivastava and Ramarathnam Venkatesan
    Verification Model Checking and Abstract Interpretation 2009 (VMCAI’09)

  • Program Analysis as Constraint Solving [ acm | pdf ]
    Sumit Gulwani and Saurabh Srivastava and Ramarathnam Venkatesan
    Programming Languages Design and Implementation 2008 (PLDI’08)

  • Modular Information Hiding and Type Safe Linking for C [ acm | pdf ]
    Saurabh Srivastava and Mike Hicks and Jeffrey S. Foster and Patrick Jenkins
    IEEE Transactions on Software Engineering 2008 (TSE’08)

  • Modular Information Hiding and Type Safe Linking for C [ acm | pdf ]
    Saurabh Srivastava and Mike Hicks and Jeffrey S. Foster
    Types in Language Design and Implementation 2007 (TLDI’07)

  • Distributed Algorithms for Finding and Maintaining a k-Tree Core in a Dynamic Network [ acm | pdf ]
    Saurabh Srivastava and R. K. Ghosh
    Information Processing Letters 2003 (IPL’03)

  • A Code Allocation Protocol for Maximizing Throughput in CDMA based Ad-hoc Networks
    Saurabh Srivastava and S. Tripathi and A. K. Chaturvedi and D. Sanghi
    IEEE Wireless Communications and Networking Conference 2003 (WCNC’03)

  • Cluster based Routing using a k-Tree Core Backbone for Mobile Ad-hoc Networks
    Saurabh Srivastava and R. K. Ghosh
    6th International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications 2002 (DialM’02)

  • Approximating the Range Sum of a Graph on a CREW PRAM
    Saurabh Srivastava and P. Gupta
    4th Intl. Workshop on Distributed Computing 2002 (IWDC’02)

  • Performance Evaluation of Combining Techniques for a Multicarrier CDMA System
    S. Tripathi and Saurabh Srivastava and A. K. Chaturvedi and D. Sanghi
    8th National Conference on Communications 2002 (NCC’02)

Source code