Semester: | Spring 2023 |
Time: | Monday and Wednesday, 11:30 AM - 12:50 PM |
Class Location: | Old Computer Science Building, Room # 2311 |
Credits: | 3 Credit Hours |
Prerequisites: | This is a graduate special topics course and does not have any prerequisites. |
Textbooks: | The class does not require any textbook. The instructor will make PowerPoint/PDF slides available to the student covering different relevant topics through Piazza. We will also consult relevant research papers that will be made available through Piazza. Students are encouraged to discuss the course material and challenges they face in solving the assigned homework. For group discussions, we will use Piazza. Prior to asking questions, as a courtesy to the instructor and the TA, the students are advised to make sure that their questions have not been previously answered. |
Instructor: | Omar Haider Chowdhury, Ph.D. |
Email: | omar@cs.stonybrook.edu |
Office hours: | Tuesday, 10:00 AM - 11:30 AM, Wednesday, 3:00 PM - 4:30 PM, and by appointment. |
Office location: | New Computer Science Building Room 363 (NCS 363) |
Teaching Assistant: | Joyanta Debnath, Ph.D. Student |
Email: | jdebnath@cs.stonybrook.edu |
Office hours: | Monday, 3:00 PM - 4:30 PM, Thursday, 10:00 AM - 11:30 AM, and by appointment. |
Zoom Link: | https://stonybrook.zoom.us/j/4835889823?pwd=YURGakhQY2lZS1o4UjhNTkZKQ3lhZz09 |
Date | Topic | Summary/Notes |
---|---|---|
01/23/2023 | Introduction and administrative stuff | See Piazza for Lectures |
01/25/2023 | Software Security 1 | See Piazza for Lectures |
01/30/2023 | Software Security 2, 3, 4 | See Piazza for Lectures |
02/01/2023 | Software Security 5, 6 | See Piazza for Lectures |
02/06/2023 | Introduction to Automated Reasoning + Introduction to Propositional Logic | See Piazza for Lectures + HW1 out (Individual Paper Reading Assignment) |
02/08/2023 | SAT Solving + Applications to SAT Solving | On the Security and Usability of Segment-based Visual Cryptographic Authentication Protocols |
02/13/2023 | Applications of SAT Solving + Introduction to SMT | |
02/15/2023 | Internals of SMT Solving + Introduction to theory combination | HW1 DUE. HW2 OUT. (OCaml Problems) |
02/20/2023 | Theory Combinations in SMT | |
02/22/2023 | Introduction to Symbolic Execution | HW2 DUE. HW3 OUT. (Writing a DPLL SAT Solver) |
02/27/2023 | Applications of Symbolic Execution | |
03/01/2023 | Midterm Exam 1 | |
03/06/2023 | Introduction to Temporal Logic; Safety and Liveness Properties | HW3 DUE. HW4 OUT. (Writing an interpreter for a simple imperative programming language in OCaml) |
03/08/2023 | Introduction to Model Checking | |
03/13/2023 - 03/19/2023 | Spring Break | |
03/20/2023 | Hands-on Experience with a Model Checker | HW4 DUE. HW5 (Application of SMT Solving) OUT Final Programming Assignment OUT (Writing Symbolic Execution and Taint Tracking Engines for a simple imperative language --- extension of HW4) |
03/22/2023 | Introduction to Program Verification and Hoare Logic | |
03/27/2023 | Program Verification (Continued) | HW5 DUE. HW6 OUT. (Using Model Checking for solving security problem) |
03/29/2023 | Non-interference and Non-deducibility; Hyperproperties | |
04/03/2023 | Introduction to Taint Tracking | |
04/05/2023 | Taint Tracking (Continued) | HW6 DUE |
04/10/2023 | Runtime Monitoring of Linear Temporal Logic | |
04/12/2023 | Introduction to Language and Automata | |
04/17/2023 | Introduction to Black-box Automata Learning | |
04/19/2023 | Applications of Black-box Automata Learning | |
04/24/2023 | Basics of Cryptography (Symmetric and Assymetric Key Cryptography) | |
04/26/2023 | Midterm Exam 2 | |
05/02/2023 | Hands-on Experience with Cryptographic Protocol Verification | |
05/04/2023 | Application of Combining Model Checking and Cryptographic Protocol Verification | |
05/08/2023 - 05/17/2023 | Final Examination Week | Final Programming Project Due |
The following is a tentative distribution of the grades and may change in the middle of the semester.