Study-Unit Description

Study-Unit Description


CODE CPS3233

 
TITLE Verification Techniques

 
UM LEVEL 03 - Years 2, 3, 4 in Modular Undergraduate Course

 
MQF LEVEL 6

 
ECTS CREDITS 5

 
DEPARTMENT Computer Science

 
DESCRIPTION This study-unit consists of three main parts:

1. The first part deals with formally defining the semantics of a software system;
2. The second part focuses on different formalisms which can be used to specify properties of a software system. These can be loosely classified under:
a) Finite-trace logics;
b) Infinite-trace logics;
c) Other logics.
3. After having covered a plethora of formalisms, the study-unit focuses on how these can be used to check the correctness of a software system. In this section we focus on three such techniques:
a) Runtime verification
b) Model-based testing;
c) Combining runtime verification and testing.

To assist the students in assimilating the mathematical content, the unit is supported by a number of tutorials, and the attendance of the tutorials and lectures is obligatory. Students who fail to attend a session will be expected to perform extra work to prove sufficient understanding of the missed topic. Furthermore, given that the assessment is fully based on an assignment, students may be called in for an interview.

Study-Unit Aims:

The main aims of the study-unit are to:
a) Introduce students to concepts of formal methods and their application to software verification;
b) Expose students to real-life applications of formal methods.

Learning Outcomes:

1. Knowledge & Understanding:

By the end of the study-unit the student will be able to:
a) Appreciate the differences, advantages and disadvantages of various verification techniques;
b) Reason with logical notations about the requirements of a software system;
c) Enable students to extract a system’s requirements and formulate them in formal notation;
d) Become aware of different software verification techniques and recognize suitable scenarios when to apply them.

2. Skills:

By the end of the study-unit the student will be able to:
a) Apply a number of software verification techniques to software systems;
b) Formalise the requirements of a software system using one of a number of specification formalisms;
c) Choose the appropriate formalisation logic for a given software system;
d) Choose the appropriate verification technique for a given software verification requirement.

Main Text/s and any supplementary readings:

Main Text:

- http://www.amazon.com/Practical-Model-Based-Testing-Tools-Approach/dp/0123725011

 
RULES/CONDITIONS In THE SAME YEAR AS TAKING THIS UNIT YOU ARE ADVISED TO TAKE CPS3222 OR TAKE CPS3230

 
ADDITIONAL NOTES Students taking this study-unit are assumed to have knowledge of the material covered in CPS2005.

 
STUDY-UNIT TYPE Lecture, Independent Study & Tutorial

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Sept. Asst Session Weighting
Assignment SEM2 Yes 100%

 
LECTURER/S Christian Colombo

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit