Software systems verification and validation |
ter |
|||||
Teaching Staff in Charge |
|
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. |