Testing, Debugging, and Verification TDA567/DIT082, LP2, HT2018

Schedule

Places and Times

We have lectures on Mondays at 15:15 - 17:00, and on Thursdays at 10:00 - 11:45. In addition, on Mondays there is a Lab session at 13:15 - 15:00, and on Thursdays there is an exercise session at 08:00 - 09:45. In the schedule below you can check the rooms for each day.

Office hours can be scheduled with the TAs. You can find their contact information in the course description page.

Please, note that the slides for each lecture may be modified before the corresponding lecture. It is advisable to (re)download them on the same day of the lecture.

Welcome to the first lecture on Thursday 8 Nov, 08:00 - 09:45 in KB!


First Week

On the first week, the course will have some special times. there is going to be a lecture from 8:00 to 10:00 instead of turorial.

Friday November 09 2018 there is going to be a lecture from 15:15 to 17:00.

Link to TimeEdit

Lecturers: SP = Srinivas Pinisetty
Guest Lecturers: JH = John Hughes
Course Assistants: AG = Alejandro Gomez SR = Simon Robillard YC = Yu-Ting Chen

The titles/summary of the content of the lectures shown below are preliminary and subject to change.

Mondays 13:15 - 15:00, room ES61,ES62 Mondays 15:15 - 17:00, room EA Thursdays 08:00 - 09:45, room KB Thursdays 10:00 - 11:45, room KB Friday 15:15 - 17:00, room EA
1.
05/11 - 09/11
(no Lab Session) Lecture: Course Introduction (SP)

Room: KB

Testing Part1 (SP)

Motivation, testing levels, test case, test suite.

Room: KB

Testing Part2 (SP)

Junit framework, extreme testing, integrating test units, top-down Vs. bottom-up testing.

Room: EA

2.
11/11 - 18/11
Lab Session: Lab 1 (AG)(YC) Testing Part2 (SP)

Black-box Vs. white-box testing, principles of test-set construction/coverage criteria (control-flow graph coverage, Logic coverage, input space partitioning)
Exercises: Testing (AG) Debugging (SP)

Input Minimisation, Systematic Debugging, Logging, Debuggers Tracking Cause and Effect: Program Dependencies

3.
19/11 - 25/11
Lab Session: Lab 1 (AG)(YC) Lecture: Formal Specification: Intro & Logic (SP)



Exercises: Testing

Exercises: Debugging (AG)
Lecture: Formal Specification: Dafny (SP)

Examples
4.
26/11 - 02/12
Lab Session: Lab 2 (YC) (AG) Lecture: Formal Specification: Framing & Loops in Dafny (SP) Examples Exercises: Logic/Formal Specification (YC) Lecture: Formal Specification: Loops in Dafny (SP) Examples

Formal Verification: Weakest pre-condition calculus
5.
03/12 - 09/12
Lab Session: Lab 2 (YC) (AG) Guest Lecture by JH Property based testing, QuickCheck, .. Exercises: Formal Specification (YC) Guest Lecture by YC

"Why doesn't it work? Dafny internals / Loop Invariants / some verification magic tricks!"

6.
10/12 - 16/12
Lab Session: Lab 3 (SR) (YC)
Lecture: Formal Verification: Weakest pre-condition calculus, Loop invariants, Proving loops (SP)

FormalVerification2
ProvingLoops
"Exercises Formal Specification: Loopy Dafny (SR) Lecture (SP)
Formal Verification: ProvingLoops (Loop invariants, loop variants, partial/total correctness)


Practice some examples
6.
17/12 - 23/12
Lab Session: Lab 3 (SR) (YC)
Lecture (SP)

Recap course content

Some examples, discussion: deriving loop invariants
Exam training
(SR) (SP)
Lecture
Invariant Generation: An overview (SR)


Recap course content (continution) (SP)



Home | Course | Schedule | Exam | Exercises | Labs | Evaluation | Tools Srinivas Pinisetty, Dec 19, 2018