CS 395T: Systems Verification and Synthesis Spring 2023

Syllabus

This is a graduate-level reading seminar on verification and synthesis of computer systems. Most lectures will be interactive discussions of research papers. Some lectures will be hands-on experience with verification and synthesis tools.

Prerequisites

There are no formal prerequisites. However, this is a graduate-level research course, and we will assume undergraduate-level familiarity with discrete mathematics (CS 311 or equivalent) and systems (CS 439 or equivalent).

As a graduate-level course, registration is open only to masters and PhD students in computer science. If you don't meet these requirements, but are still interested in registering and have the necessary background, please contact the instructor (include your CV and/or transcript).

Course Work

This is a research seminar, so our focus will be on reading and discussing papers. In most lectures, we will discuss a research paper related to verification and synthesis of systems. Each discussion will be led by a student. We'll assign the discussion order in the first week of semester—you should expect to present twice.

If you are leading the discussion on a paper, you have two responsibilities:

  1. Write a blog post summarizing the paper and its contributions. You should aim to explain the background and the key novelties of the paper and to place it in context with respect to the related work. You should also reflect critically on the paper's strengths and weaknesses—imagine you're reviewing the paper for a conference. Finally, you should include a list of potential discussion questions for lecture.

    This won't be a trivial amount of work! Aim to spend 5–8 hours reading the paper and preparing your post (you'll only have to do this twice in the semester).

    A draft of your blog post is due by the start of the lecture one week before your assigned slot. It should be submitted as a pull request to the course blog GitHub repository. If more than one person is a discussion lead for the paper, you should work together on the blog post and submit only one pull request. We'll iterate on your pull request and merge it before the lecture for the paper.

  2. Lead the discussion itself during lecture. This isn't a presentation, so slides aren't required (but you're welcome to prepare some if you think they'll help answer questions). Your goal is just to keep the discussion moving along and know the paper well. To help, you'll get a copy of the discussion questions others have submitted before lecture (see below).

If you're not leading the discussion on a paper, you'll instead need to submit a reading response before class. This response should be one paragraph describing what you liked and didn't like about the paper, and a list of questions for the in-class discussion. This response is due at 10pm the evening before lecture (i.e., 10pm Monday and Wednesday) and submitted via Canvas. If you're the discussion lead for a paper, you do not need to also submit the reading response; you get the point for free.

Grading

Course Policies

Your success in this class is important to me! While there are a number of official policies below about how best we can accommodate your needs, I am happy to be flexible within reason, especially with the challenges of COVID-19 in mind. If you find yourself needing accommodation, please let me know as soon as possible.

Excused Absences

Part of your grade in this class is based on in-class participation. If you need to be absent from class for any reason (religious holidays, extenuating circumstances and emergencies, paper deadlines, etc.), please contact me as soon as possible, and at least one week in advance (unless it is an emergency). We will find a way to make sure your class participation grade isn't affected.

Due Dates

This is a discussion focused class and will move quickly, especially during the first few weeks, so sticking to the schedule is essential. Late submissions (other than reading responses) will be penalized 50% for less than one day late, and will not be graded when more than one day late. Late submissions of reading responses will receive zero points.

That said, as discussed above, I am flexible about excused absences if you give me advance notice (for things like paper submissions or conference attendance) or if extenuating circumstances arise. If you know you'll need to submit something late, please let me know as soon as possible, and at least one week in advance of the due date (unless it is an emergency).

Respect in Class

You have the right to a learning environment that is respectful and welcoming, that supports your mental and physical wellness, and that facilitates meaningful and equal participation. All communication in this course, both in lecture and online, will be held to a high standard for inclusiveness: it must not target individuals or groups for harassment, and it must not exclude specific groups.

If any communication in this class does not meet these standards, please don't escalate it by responding in kind. Instead, contact the instructor as early as possible. If you don't feel comfortable raising the issue with the instructor—for example, if the instructor is the problem—please contact the graduate program coordinator or the department chair.

Academic Integrity

While this is a discussion class, and discussion with others about the readings is encouraged, all material that you submit in this class (presentation materials, blog posts, homework, and reading responses) must be your own. If you use someone else's material, you must cite them properly and make very clear which parts are your own work.

Specifically for homeworks, you are welcome to discuss them with other students, but all code you submit must be code you wrote entirely by yourself. As a general heuristic, please don't show any code you've written for the homework to other students.

If you are ever in doubt about whether something you intend to submit violates this policy, please contact me before doing so. There is no penalty for asking, but the penalty for plagiarism is academic disciplinary action, including failure of the course.

Services for Students with Disabilities

The university is committed to creating an accessible and inclusive learning environment consistent with university policy and federal and state law. Please let me know if you experience any barriers to learning so I can work with you to ensure you have equal opportunity to participate fully in this course. If you are a student with a disability, or think you may have a disability, and need accommodations, please contact Services for Students with Disabilities (SSD). If you are already registered with SSD, please deliver your Accommodation Letter to me as early as possible in the semester so we can discuss your approved accommodations and needs in this course.

Counseling and Mental Health Center

The Counseling and Mental Health Center serves UT's diverse campus community by providing high quality, innovative and culturally informed mental health programs and services that enhance and support students' well-being, academic and life goals. To learn more about your counseling and mental health options, call CMHC at (512) 471-3515.

If you are experiencing a mental health crisis, call the CMHC Crisis Line 24/7 at (512) 471-2255.

Sharing of Course Materials is Prohibited

Materials from this class that are produced by the instructor or by other students may not be shared online or with anyone outside this class without my explicit written permission. This includes any recordings of lectures or copies of class discussion, which involve participation by students and are protected under FERPA.

Acknowledgments

I have borrowed parts of this syllabus from Emina Torlak and Adrian Sampson—thanks!