There is a strong need for the use of advanced,
systematic techniques
and tools that support the system validation
process. [
Klaus Havelund ]
The focus of this course is on techniques and software-tools that can be used to assess the quality and correctness of software systems. The first part of the course considers tools and techniques for model-based validation/verification of system designs. The last part of the course considers tools and techniques for testing system implementations.
In the first part of the course, particular emphasis will be put on our own real-time validation tool UPPAAL and the commercial tool visualSTATE. Uppaal allows for the modeling, validation and automatic verification of properties of real-time systems and communication protocols The underlying description language and specification formalism --- timed automata and timed temporal logic --- will be dealt with in detail. The theoretical and practical aspects of the tool will be studied. To enable effective validation of systems special attention is given to modeling and abstraction techniques that help to limit the complexity of the models used. visualSTATE is a toolset that supports analysis, design, prototyping, validation, and verification through simulation, code generation and testing of systems. The toolset is based on the UML and MSC standards languages. visualSTATE provides graphical editors, simulators, a C code generator targeting real-time OS and network protocols, and a design-level debugger. In this course we will try to evaluate the usefulness of the various features of the 2 tools above (by application on small case-studies).
In the second part of the course, emphasis will be on methods and techniques for testing. This part of the course will to a large extent be given by Jan Tretmans (Nijmegen University, The Netherlands).
In addition, the course will involve guest lectures on topics such as Object Oriented Testing,Testing of Functional Programs and Run Time Validation of Real Time Systems.
|
|
||||
| No. | Lecture date | Time and Place | Slides | Subject |
| 1. | February 12 | 10.15-12.00 | Lecture1.pdf | Introduction |
| 2. | February 19 | 10.15-12.00 | Lecture2.pdf | Modelling: Hierarchical State Machines |
| 3. | February 26 | Exercises
in PC-Lab 8.15-10.00. See
exercises under Lecture 2
10.15-12.00, E1-214 |
Verification and Code Generation | |
| 4-9. | March 3-6 | More detailed plan to be announced | Testing week with Jan Tretmans, Twente University | |
| 10. | March 12 | Exercises
in PC-lab 8.15-10.00. See exercises under Lecture 3. 10.15-12.00, E1.214 |
jUnit Testing & Testing by Contract, Per Madsen | |
| 11. | March 19 | 10.15-12.00, E1-214 | Lecture11.pdf Emmanuel.pdf |
Real Time Modelling |
| 12. | March 26 | Exercises
in PC-lab 8.15-10.00. See exercises under Lecture 11. 10.15-12:00, E1-214 |
Lecture12.pdf | Real Time Verification |
| 13. | March 28 | Exercises
in PC-lab 8.15-10.00. See exercises under Lecture 12. 10.15-12.00, E3-209 |
IAR visualSTATE by Henrik Leerberg | |
| 14-15. | April
2 April 14 |
|
Modelling Exercise |
Practical Exercises with UPPAAL and visualSTATE will take place in the PC-lab in E1.