|
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:
GameTime: A Toolkit for Timing Analysis of Software
-
(TACAS 2011)
Synthesizing Switching Logic for Safety and Dwell-Time Requirements
-
(ICCPS 2010)
Game-Theoretic Timing Analysis
-
(ICCAD 2008)
The Case for Timing-Centric Distributed Software
-
(WCPS 2009)
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
|