奇妙的虫子及如何找到它们

  • 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.
阅读 5
0 条评论