Sanjit A. Seshia

  Associate Professor
  Department of Electrical Engineering and Computer Sciences
  University of California, Berkeley
 
 
  Contact Information  
[   Biography   |   Publications   |   Research   |   Software   |   Teaching   |   Students   |   CV (in PDF)   ]

NEW:

   In Berkeley this year: CAV '12: 24th International Conference on Computer-Aided Verification. Please submit your best work!

   Postdoc and Graduate Student research positions available
 
  Research: Teaching: New version available: Introduction to Embedded Systems: A Cyber-Physical Systems Approach

Selected Recent Talks:
Here are videos/slides from selected recent presentations:
 

Note to prospective students and postdocs

   Research

Computing has become ubiquitous and indispensible, but how do we make it more dependable and secure? My research group addresses this question by developing theory and tools to ensure that systems are provably dependable and secure. Our work spans the computing stack over several abstraction layers, from algorithms, through software, to circuits.

Our work focuses in particular on formal methods, which are mathematical techniques to model, design, and analyze computer systems. We seek to advance the state-of-the-art in formal methods at multiple levels, including:

  • Computational Engines: We develop efficient satisfiability modulo theories (SMT) solvers and devise novel modeling techniques to demonstrate new applications of these solvers. See the UCLID project for more details.
  • Strategies for Verification and Synthesis: We are developing new formal verification and synthesis techniques based on a combination of inductive inference and deductive reasoning, an approach we term sciduction. See this technical report for further details.
  • Design for Verification and Resilience: System correctness and reliability is best ensured when the system is designed with those criteria in mind. We are therefore researching techniques to better integrate design, specification, and verification to facilitate the development of robust, error-resilient systems, at low resource overheads.
See my CITRIS seminar, Formal Methods for Dependable Computing: From Models, through Software, to Circuits, for some recent research results in the three directions listed above.

Areas of Interest

Dependable Computing, Computational Logic, Computer Security, Electronic Design Automation, Embedded Systems, Formal Methods, Program Analysis, Theory.

Current Research Projects

(click on a project name for further details)
  • UCLID: Reasoning about Computer Systems using Boolean Methods
  • VGER: Verification-Guided Error Resilience of Circuits and Systems
  • Robust Embedded Systems: Verification and Learning for Provably Dependable Embedded Systems
  • SOS -- Solvers for Security: SAT, SMT, and Constraint-Based Techniques for Analyzing Security and Building Secure Systems

Descriptions of past projects are also available.

Publications

Full publications list, organized by Here are selected recent publications, organized roughly by main area:
 
CAD for Circuits, Electronic Design Automation:
Embedded/Cyber-Physical Systems, Hybrid Systems: Security, Programming Languages, and Software Engineering: Formal Methods, Computational Logic, Algorithms:(not covered above)

Affiliations

Centers my students and I participate in:

  • DOP Center: Donald O. Pederson Center for Electronic Systems Design
  • CHESS: Center for Hybrid and Embedded Software Systems
  • GSRC: Gigascale Systems Research Center
  • MuSyC: Multiscale Systems Center
  • OSQ: Open Source Quality Project
  • TRUST: Team for Research in Ubiquitous Secure Technology

   Software

Here are some software packages that my students and I have developed:

   Teaching

Recent Courses

Fall 2011: EECS 144 & 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization (co-taught with Edward Lee and Jaijeet Roychowdhury)
Spring 2011:
EECS 219C: Computer-Aided Verification
EECS 149: Introduction to Embedded Systems (co-taught with Edward Lee)
Fall 2010: EECS 144 & 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization (co-taught with Edward Lee and Jaijeet Roychowdhury)
Spring 2010: CS 172: Computability and Complexity

Click here for the full list of courses taught.

   Group Members

Current

Dan Holcomb (Ph.D.)
Jonathan Kotker (M.S.)
Wenchao Li (Ph.D.)
Dorsa Sadigh (Research Staff)
Rohit Sinha (Ph.D.)
Zach Wasson (Ph.D.)

Graduated

Susmit Jha (Ph.D.): Towards Automated System Synthesis Using Sciduction
Bryan Brady (Ph.D.): Automatic Term-Level Abstraction
Rhishikesh Limaye (M.S.): Beaver: An SMT Solver for Quantifier-free Bit-vector Logic

A complete list of current and past students, including undergraduate advisees, is available in my CV.

   Professional Activities

Program Committees: (recent)
   CAV '12: 24th International Conference on Computer-Aided Verification (Program co-chair)
   SMT '11: International Workshop on Satisfiability Modulo Theories (Program co-chair)
   ICCAD'11: International Conference on Computer-Aided Design (chair of Verification track)
   CAV '11: 23rd International Conference on Computer-Aided Verification
   NFM '11: 3rd NASA Formal Methods Symposium
   EMSOFT'10: International Conference on Embedded Software

A complete list of professional activities is available in my CV.

   Miscellaneous

Advice for students and others, compiled by Michael Ernst

My academic genealogy (courtesy the Mathematics Genealogy Project)

An article about some of my research.