Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licență

FISA DISCIPLINEI

Codul
Denumirea disciplinei
MID0010 Verificarea şi validarea sistemelor soft
Specializarea
Semestrul
Ore: C+S+L
Categoria
Statutul
Informatică
6
2+2+0
specialitate
obligatorie
Matematică informatică - linia de studiu română
6
2+2+0
specialitate
optionala
Titularii de disciplina
Prof. Dr. FRENTIU Militon,  mfrentiucs.ubbcluj.ro
Obiective
1. Intelegerea notiunilor de algoritm partial si total corect;
2. Formarea deprinderilor de proiectare a algoritmilor in paralel cu demonstrarea corectitudinii lor;
3. Cunoasterea metodelor de testare si verificare a sistemelor soft;
4. Formarea deprinderilor de proiectare a programelor corecte din specificatii;
5. Formarea unui stil modern de programare.
Continutul
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.
Bibliografie
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
Evaluare
La seminar fiecare student va prezenta un referat pe care se va acorda o nota de apreciere a modului in care studentul a inteles articolul de specialitate citit si cum a reusit sa-l prezinte in fata colegilor. La sfarsitul anului activitatea se incheie cu un colocviu. Acesta consta dintr-o discutie pe marginea cunostintelor predate la curs, cu accent pe intelegerea celor predate. In urma acestei discutii se va acorda o a doua nota. Nota finala va fi media aritmetica a celor doua note mentionate mai sus: F=(R+E)/2.
Legaturi: Syllabus-urile tuturor disciplinelor
Versiunea in limba engleza a acestei discipline
Versiunea in format rtf a acestei discipline