Syllabus for |
|
TDA567 - Testing, debugging and verification
|
|
Syllabus adopted 2014-02-25 by Head of Programme (or corresponding) |
Owner: TKITE |
|
7,5 Credits |
Grading: TH - Five, Four, Three, Not passed |
Education cycle: First-cycle |
Major subject: Computer Science and Engineering, Information Technology
|
Department: 37 - COMPUTER SCIENCE AND ENGINEERING
|
Teaching language: English
Open for exchange students
Block schedule:
A
Course module |
|
Credit distribution |
|
Examination dates |
Sp1 |
Sp2 |
Sp3 |
Sp4 |
Summer course |
No Sp |
0114 |
Laboratory |
2,5 c |
Grading: UG |
|
|
2,5 c
|
|
|
|
|
|
|
0214 |
Examination |
5,0 c |
Grading: TH |
|
|
5,0 c
|
|
|
|
|
|
11 Jan 2016 pm EKL
|
05 Apr 2016 pm M |
In programs
MPSYS SYSTEMS, CONTROL AND MECHATRONICS, MSC PROGR, Year 1 (elective)
TIDAL COMPUTER ENGINEERING, Year 3 (compulsory elective)
TKITE SOFTWARE ENGINEERING, Year 3 (elective)
Examiner:
Docent
Laura Kovacs
Replaces
TDA565
Program verification TDA566
Testing, debugging and verification
Go to Course Homepage
Eligibility:
In order to be eligible for a first cycle course the applicant needs to fulfil the general and specific entry requirements of the programme(s) that has the course included in the study programme.
Course specific prerequisites
To be eligible for the course students should have successfully completed:
- one year of an education aiming at a bachelor degree within Computer Science, Computer Engineering, Software Engineering, or equivalent
- a course in discrete mathematics (such as TMV200)
- a course in object oriented programming (such as TDA545)
Aim
The aim of the course is to provide a basic understanding of techniques that cope with errors in programs, and skills in how to employ these techniques. Reoccurring themes are a) the identification of errors, b) their analysis, and c) their removal. The course also provides understanding of - and skills in - systematic ways of creating evidence that a program unit really does what it should.
Learning outcomes (after completion of the course the student should be able to)
After completion of the course the student is expected to be able to
- describe the possibilities and limitations of both informal and formal techniques for the discovery, analysis, and resolving of program errors
- describe the concept of precise specifications of software units
- discuss the principles of verification
- express precise specifications of software units
- characterise inputs on which a program fails
- locate, analyse, and fix the error which caused the failure
- formally reason about simple programs for guaranteeing correctness
- judge the various error tracing and prevention practices they encounter
- contribute to the development and improvement of error removal and prevention techniques in a given context
- follow up on, and take advantage of, conceptual and technical developments in the area of testing, debugging, and verification that go beyond the exact techniques covered in the course
Content
Contrasting formal and informal methods, testing (terminology, coverage, unit tests, a unit test framework), debugging (control, workflow, localisation, tools), formal specifications (pre-/postconditions, invariants), formal verification (logics, tool support). Throughout, the course is concerned with imperative programs in general, and object-oriented programs in particular.
Organisation
The course is held as a combination of lectures, exercise classes and assignments (labs), as detailed in the course home page.
Literature
The course slides and relevant literature will be distributed online on the course home page.
Examination
The course is examined by a final individual written hall exam, 5.0 hec, and Laboration (practical hand-in assignments), 2.5 hec. The laborations are usually done in groups of 2-3 students.
In case a practical hand-in assignment is not passed in the first attempt, the student is granted a second try.
The exam and the labs can be passed independently. However, to pass the course both the labs and exam must have been passed. In case of a pass, the final course grade is determined by the final exam.