Department of Computer ScienceMeets: MW 15:30-17:00, CICSR 304.
First meeting is Monday, January 10!
Instructor: Alan Hu, CICSR 325,
Warning: The course name "Integrated System Design" is a misnomer. The course will actually be about automatic formal verification of computer systems, be they hardware, software, or some combination. I used to feel a little guilty about shifting the course towards my research area (hence this warning), but as I travel, everyone (including people from cool places like IBM, Intel, Motorola, and several start-ups) is begging me for more verification students, and my first grad students landed great jobs. So, I don't feel guilty anymore. :-) Students interested in hardware and embedded system design, rather than verification, can choose a design-oriented course project.
The first half of the course will be a crash course in automatic formal verification techniques. Topics covered will include BDDs (binary decision diagrams), equivalence of combinational circuits, reachability computation in sequential circuits, CTL model checking, and Floyd-Hoare-style software verification.
For the second half of the course, we will spend one day each week discussing advanced material (e.g., verifying pipelined microprocessors, using verification to generate tests, etc.) and current topics (e.g., Java bytecode verification, proof-carrying-code for running untrusted programs, anything else that comes up). Instead of a second lecture per week, we will meet in small groups to discuss individual projects.