CIS 573: Software Engineering (Fall 2019)

[F.A.Q.] [Administrivia] [Syllabus] [Schedule] [Resources]

F.A.Q.

Administrivia

Time: Mondays and Wednesdays, 1:30-3:00 pm
Location: Berger Auditorium, Skirkanich Hall
Instructor: Mayur Naik
Email: mhnaik@cis.upenn.edu
Office: Levine 610
Office hours: TBD (or by appointment)
Teaching
Assistants:
Elizabeth Dinella
Email: edinella@seas.upenn.edu
Office hours: TBD

Pardis Pashakhanloo
Email: pardisp@seas.upenn.edu
Office hours: TBD

Syllabus

Course Description: This course covers the theory and practice of software analysis -- a body of algorithms and techniques to reason about program behavior with applications to effectively test, debug, and secure large, complex codebases. The course surveys a wide range of applications of software analysis including proving the absence of common programming errors, discovering and preventing security vulnerabilities, systematically testing intricate data structures and libraries, and localizing root causes in complex software failures.

Topics Covered: Dataflow analysis, constraint-based analysis, type systems, program specifications, randomized testing, automated debugging, symbolic execution.


Last updated: 30 May 2019