"Babes-Bolyai" University of Cluj-Napoca
Faculty of Mathematics and Computer Science

Software systems verification and validation
Code
Semes-
ter
Hours: C+S+L
Credits
Type
Section
MID0010
6
2+2+0
6
compulsory
Informatică
Teaching Staff in Charge
Prof. FRENTIU Militon, Ph.D.,  mfrentiucs.ubbcluj.ro
Aims
1. Understanding the concepts of partial and total correctness;
2. Formarea deprinderilor de proiectare a algoritmilor in paralel cu demonstrarea corectitudinii lor;
3. Cunoasterea metodelor de testare si verificare a programelor;
4. Formarea deprinderilor de proiectare a programelor corecte din specificatii;
5. Formarea unui stil modern de programare.

Content
I. Teoria corectitudinii programelor (4 cursuri)
- Specificarea programelor.
- Metoda lui Floyd de demonstrare a corectitudinii.
- Metoda lui Hoare de demonstrare.
- Axiome şi reguli pentru logica Floyd-Hoare: completitudine şi necontradicţie.
- Dezvoltarea corecta a programelor din specificaţii
- Evoluţia istorică a corectitudinii programelor. Contribuţii: Floyd, Hoare, Dijkstra, Gries, Droomey, Morgan
II. Verificarea şi validarea sistemelor (3 cursuri)
- conceptele verificare şi validare; asemănări şi deosebiri
- metode de verificare
- inspectarea programelor
- necesitatea documentării programelor
- execuţie simbolică
III. Testarea programelor. (3 cursuri)
- conceptul de testare
- tipuri de testare: a unei proceduri, a unui modul, T.de integrare, T. de regresie, T. sistemului, T.de acceptare
- criterii de testare
- determinarea datelor de test
- automatizarea testării
IV. Verificarea modelelor (model checking) (2 cursuri)
V. Legătura între diferitele metode de verificare (2 cursuri)
- corectitudine-inspectare-testare-execuţie simbolică
- Cleanroom. Program Quality
- Impactul teoriei corectitudinii programelor asupra programarii. Reguli de programare.
References
1. BALANESCU T., Corectitudinea programelor, Editura tehnica, Bucuresti 1995.
2. DIJKSTRA, E., A constructive approach to the problem of program correctness, BIT, 8(1968), pg.174-186.
3. DIJKSTRA, E., Guarded commands, nondeterminacy and formal derivation of programs, CACM, 18(1975), 8, pg.453-457.
4. DROMEY G., Program Derivation. The Development of Programs From Specifications, Addison Wesley Publishing Company, 1989.
5. FRENTIU, M., Verificarea corectitudinii programelor, Ed.Univ."Petru-Maior", 2001.
6. GRIES, D., The Science of Programming, Springer-Verlag, Berlin, 1981.
7. HOARE, C.A.R., An axiomatic basis for computer programming, CACM, 12(1969), pg.576-580, 583.
8. MANNA, Z., Mathematical Theory of Computation, McGrawHill, NewYork, 1974.
B. Articole Internet
Assessment
The activity at seminaries, consisting from participation in solving the exercises and a talk about a given paper will be appreciated by a mark, let denote it by A. At the end a wrutten examination will give a second mark, denoted by E. The final mark F is given by:
F=(A+E)/2.