Sanjit A. Seshia

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

NEW:

Clark Barrett and I gave a tutorial at ICCAD'09 on Satisfiability Modulo Theories. Here are the slides: My slides (PPT), Clark's slides (PDF).

Research:
   On Voting Machine Design for Verification and Testability
   Algorithms for Green Buildings: Learning-Based Techniques for Energy Prediction and Fault Diagnosis
   Localizing Transient Faults Using Dynamic Bayesian Networks
   Satisfiability Modulo Theories (book chapter)
   Beaver: Engineering an Efficient SMT Solver for Bit-Vector Arithmetic
   Design as You See FIT: System-Level Soft Error Analysis of Sequential Circuits

Teaching:
  EECS 219C: Computer-Aided Verification
 

Note to prospective students

   Research

My research group develops algorithmic techniques for dependable and secure computing. Problems of interest range over several abstraction layers, from algorithms, through software, to circuits.

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 System Security

Descriptions of past projects are also available.

Publications

Here are some recent publications:

See the publications page for further details about my current and past research.

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
  • 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

Current

Fall 2009:
EECS 219C: Computer-Aided Verification

Past

Spring 2009: EECS 149: Introduction to Embedded Systems
Fall 2008: EECS 244: Introduction to Computer-Aided Design of ICs (co-taught with Kurt Keutzer)
Spring 2008:
CS 172: Computability and Complexity
EECS 124: Introduction to Embedded Systems (co-taught with Edward Lee)
Fall 2007:
EECS 244: Introduction to Computer-Aided Design of ICs (co-taught with Kurt Keutzer)
CS 294-25: Current Berkeley Research in Programming Systems (co-taught with R. Bodik, K. Sen, D. Song, and K. Yelick)
Spring 2007: EECS 219C: Computer-Aided Verification
Fall 2006: CS 172: Computability and Complexity
Spring 2006: EECS 219C: Computer-Aided Verification
Fall 2005: EECS 244: Introduction to Computer-Aided Design of ICs (co-taught with Kurt Keutzer)

   Ph.D. Students

Bryan Brady
Dan Holcomb
Sagar Jain
Susmit Jha
Wenchao Li
Rhishikesh Limaye

   Professional Activities

Editorial Board:
   IEEE Embedded Systems Letters

Program Committees: (recent)
   TACAS'10: International Conference on Tools and Algorithms for the Construction and Analysis of Systems
   ICCAD'09: International Conference on Computer-Aided Design
   QA'09: Workshop on Quantitative Analysis of Software
   CAV '09: Computer-Aided Verification

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.