Program Testing and Analysis

Quick Facts

Lecturer     Dr. Michael Pradel
Teaching assistantsMartin Billes, Jibesh Patra, Marija Selakovic, Cristian-Alexandru Staicu
Course typeIntegrated course
TimeMonday, 9:50--11:30
LocationS101/A4
TUCAN entry20-00-0933-iv
PiazzaClass page

 

Content

This course introduces the principles and practice of testing and analyzing large software systems. The course provides an overview of program analysis and covers two topics in more detail: Test generation, i.e., techniques for automatically creating inputs to execute a program, and dynamic analysis, i.e., techniques for reasoning about the runtime behavior of a program. In addition to weekly lectures, students will deepen their understanding through a practical course project (implement a program analysis based on an existing framework) and acquire research skills by writing a term paper. Besides academic achievements, the course will help students to improve their programming skills by learning about common sources of mistakes and about techniques to find them.

 

Schedule

This is a preliminary schedule that may change.

Date     Topic     Material     Deadlines and special events
Oct 12, 2015Introduction; Basics

slides & notes

JS intro

Esprima parser

Oct 19, 2015Operational semantics 1

slides & notes

Fernandez' book

Pitts' lecture notes

Register teams for project and choose topics
Oct 26, 2015Operational semantics 2slides & notes
Nov 2, 2015Manual testing

slides & notes

Pezze and Young's book

Nov 9, 2015Random and fuzz testing

slides & notes

Randoop

ARTOO

LangFuzz

Choose topics for term paper
Nov 16, 2015Symbolic and concolic testing

slides & notes

DART

KLEE

SAGE

Nov 23, 2015GUI Testing

slides and notes

Artemis

SwiftHand

EventBreak

Nov 30, 2015

(no lecture)

questions

solutions

Mid-term "exam" (not mandatory)
Dec 7, 2015Testing concurrent programs

slides and notes

Eraser

Chess

ConTeGe

Dec 14, 2015(no lecture)
Jan 11, 2016Program slicing

slides and notes

Weiser

Dynamic slicing

Thin slicing

Term papers for peer review
Jan 18, 2016Information flow analysis

slides and notes

Denning

Dytan

Austin & Flanagan

Jan 25, 2016Specification mining

slides and notes

Daikon

Ammons et al.

PR-Miner

Feb 1, 2016

(no lecture)

Reviews for term papers
Feb 8, 2016Presentation of projectsPresentation of projects
Feb 19, 2016(no lecture)Projects and final term papers

Mar 15, 2016

questions

solutions

Final exam

 

Additional topics (relevant only for term papers):

 

Questions, quizzes, and additional information

We are using Piazza for class discussion, in-class quizzes, and for sharing additional material. The system is highly catered to getting you help fast and efficiently from classmates and instructors. Rather than emailing questions to the teaching staff, please post your questions on Piazza.

Find our class page at:

 

Term Paper and Project Report

For writing term papers and project reports, please use this LaTeX template.

 

Grading

Grading will be based on the course project, the term paper, and the final exam (33% each). To pass the course, students have to pass all three parts. We also provide a non-mandatory mid-term "exam", which allows students to obtain extra credits that can improve the overall grade by up to 10%.

A A A | Drucken Print | Impressum Impressum | Sitemap Sitemap | Suche Search | Kontakt Contact | Webseitenanalyse: Mehr Informationen
zum Seitenanfangzum Seitenanfang