CS 357S: Formal Methods for Computer Systems
The complexity of modern computer systems requires rigorous and systematic verification/validation techniques to evaluate their ability to correctly and securely support application programs. To this end, a growing body of work in both industry and academia leverages formal methods techniques to solve computer systems challenges. This course is a research seminar that will cover foundational work and current topics in the application of formal methods-style techniques (some possible examples include SAT/SMT, model checking, symbolic execution, theorem proving, program synthesis, fuzzing) to reliable and secure computer systems design. The course can be thought of as an applied formal methods course where the application is reliable and secure architecture, microarchitecture, and distributed systems design. Prior formal methods experience is not necessary. Students will read and discuss published research papers and complete an original research project. Open to PhD and masters students as well as advanced undergraduate students. Prerequisites: EE180 Digital Systems Architecture or comparable course, or consent of instructor.
Terms: Aut
| Units: 3
Instructors:
Trippel, C. (PI)
;
Sheng, Y. (TA)
EE 180: Digital Systems Architecture
The design of processor-based digital systems. Instruction sets, addressing modes, data types. Assembly language programming, low-level data structures, introduction to operating systems and compilers. Processor microarchitecture, microprogramming, pipelining. Memory systems and caches. Input/output, interrupts, buses and DMA. System design implementation alternatives, software/hardware tradeoffs. Labs involve the design of processor subsystems and processor-based embedded systems. Formerly
EE 108B. Prerequisite: one of CS107 or
CS 107E (required) and
EE108 (recommended but not required).
Terms: Spr
| Units: 4
| UG Reqs: GER:DB-EngrAppSci, WAY-SMA
Instructors:
Trippel, C. (PI)
Filter Results: