Subject description - A4M33TVS

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
A4M33TVS Software Verification and Testing
Roles:PO, V Extent of teaching:2P+2C
Department:13133 Language of teaching:CS
Guarantors:  Completion:Z,ZK
Lecturers:  Credits:6
Tutors:  Semester:Z


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 representations.

Course outlines:

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.

Exercises outline:

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


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


Aktuální informace najdete na:


Subject is included into these academic programs:

Program Branch Role Recommended semester
MPIB Common courses V
MPOI5NEW Software Engineering PO 3
MPKME1 Wireless Communication V 3
MPKME5 Systems of Communication V 3
MPKME4 Networks of Electronic Communication V 3
MPKME3 Electronics V 3
MPKME2 Multimedia Technology V 3
MPEEM1 Technological Systems V 3
MPEEM5 Economy and Management of Electrical Engineering V 3
MPEEM4 Economy and Management of Power Engineering V 3
MPEEM3 Electrical Power Engineering V 3
MPEEM2 Electrical Machines, Apparatus and Drives V 3
MPOI5 Software Engineering PO 3
MPKYR4 Aerospace Systems V 3
MPKYR1 Robotics V 3
MPKYR3 Systems and Control V 3
MPKYR2 Sensors and Instrumentation V 3

Page updated 14.7.2020 17:51:47, semester: Z,L/2020-1, L/2019-20, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)