Software Verification and Testing

The course is not on the list Without time-table
Code Completion Credits Range Language
AD4M33TVS Z,ZK 6 14+6c Czech
Department of Cybernetics

This course will introduce the theoretical foundations and mathematical

concepts necessary for rigorous software testing, including the definitions

of fundamental system characteristics, such as reliability, robustness and

correctness of the software system. We will emphasize the techniques and

abstract tools necessary for validation of the correctness and reliability

characteristics of the software. In the first part of the course, we will

introduce the existing techniques and paradigms for system testing

(black/white box, formal methods, structural analysis), including the

methods for test number reduction and automation. The second part of the

course will concentrate on formal methods for system verification. We will

introduce the formal frameworks necessary for the dynamic descripton of

system properties (Z-notation, temporal logic) and the applicable

verification methods (model checking, theorem proving) working on these


Syllabus of lectures:

1. Introduction to testing and validation

2. System requirements and specifications

3. Software defects, their characterization and

categorization. Correctness and usability criteria.

4. Black, grey and white box testing.

5. White box teting optmization. Structural analysis.

6. Static and dynamic analysis, data flow analysis.

7. Integration and load testing.

8. Formal program specifications, Z-notation, temporal logic.

9. Verification by automated theorem proving methods.

10. Verification automation by model checking.

11. Axiomatic and functional verification.

12. Verification of open and distributed systems.

13. Testing and verification tools.

14. Future of software tsting and verification.

Syllabus of tutorials:

1. Organization, structure presentation

2. Presentation of testing and validation systems

3. Presentation of testing and validation systems

4. Presentation of testing and validation systems

5. Project definition and assignments - Project 1

6. Project work - Project 1

7. Project work - Project 1

8. Project work - Project 1

9. Project work - Project 1

10. Project definition and assignments - Project 2

11. Project work - Project 2

12. Project work - Project 2

13. Project work - Project 2

14. Grading

Study Objective:
Study materials:

Paul Ammann and Jeff Offutt, Introduction to Software Testing, Cambridge

University Press, Cambridge, UK, ISBN 0-52188-038-1, 2008.

Systems and Software Verification: Model-Checking Techniques and Tools

by B. Berard, M. Bidoit, A. Finkel, and F. Laroussinie, Springer; 2001

Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2019-03-21
For updated information see http://bilakniha.cvut.cz/en/predmet1200506.html