- Course Description: Studies software bugs and security vulnerabilities in complex domains with specialized program analysis and automated testing techniques. Tours multiple domains like mobile, databases, etc. and involves a semester-long project with real-world applications.
- Logistics: Spring 2025, 12 units. Class on Tue/Thu 11:00am - 12:20pm in GHC 4102. Professor Rohan Padhye with office hours Tuesdays 1:30 - 2:30pm in TCS 325 and email mailto:rohanpadhye@cmu.edu. TA Luke Dramko with office hours Mondays 2:15 - 3:15pm in TCS 3rd Floor Atrium and email mailto:lukedram@cs.cmu.edu.
- Should I take this course?: Not a traditional lecture-based course. For research students: exposure to new domains and techniques. For security/career students: introduction to specialized analysis techniques. For general interest students: learn different bug-finding approaches and build tools.
- Prerequisites: Aimed at PhD and Masters students and interested undergraduates. Assumes background in understanding common software bugs, program representations, or automated testing tools. Specific prerequisites include various courses like 18-335/732, 14-735, etc.
- Degree Requirements Fulfilled: Masters: Contact instructor. PhD students: Satisfies [ENG] requirement of [Software Engineering PhD program].
- Learning Objectives: Students should be able to identify challenges of applying program analysis techniques, formulate domain-specific assumptions, and build tools for improving software quality.
- Course Topics: Overview of bug-finding techniques and program analysis for various domains like databases, operating systems, etc.
- Assessments: 20% pre-class reading responses, 20% in-class paper presentations, 20% participation, 15% two assignments, 25% final project.
- Schedule: Details of topics, assigned readings, artifacts/due dates for each class from Jan to May.
Course Logistics and Policies:
- Technology Requirements: Use Canvas for reading material, have a UNIX-based OS, a GitHub account, and a laptop/tablet for in-class presentations.
- Accessing Reading Material: Provide links to official publications.
- Pre-class Readings: Quizzes on Canvas based on readings, due before class.
- Class Presentations: Be discussion lead, avoid copyright infringement.
- Participation: Graded based on attendance and active involvement.
- Course Project: Semester-long project in teams, present and write a report.
- Class Absence Policy: Automatic full points for up to 4 missed absences in pre-class quizzes and attendance.
- Collaboration and Academic Integrity: Expect collaboration, submit reading responses individually, credit contributions.
- Statement of Support: Take care of health, seek support if needed.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。