Subject description - AD4M33TVS

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
AD4M33TVS Software Verification and Testing
Roles:PO, V Extent of teaching:14KP+6KC
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


Subject is included into these academic programs:

Program Branch Role Recommended semester
MKEEM1 Technological Systems V 3
MKEEM5 Economy and Management of Electrical Engineering V 3
MKEEM4 Economy and Management of Power Engineering V 3
MKEEM3 Electrical Power Engineering V 3
MKEEM2 Electrical Machines, Apparatus and Drives V 3
MKKME1 Wireless Communication V 3
MKKME5 Systems of Communication V 3
MKKME4 Networks of Electronic Communication V 3
MKKME3 Electronics V 3
MKKME2 Multimedia Technology V 3
MKKYR4 Aerospace Systems V 3
MKOI5 Software Engineering PO 3
MKKYR1 Robotics V 3
MKKYR3 Systems and Control V 3
MKKYR2 Sensors and Instrumentation V 3

Page updated 3.7.2020 17:51:56, 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)