Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Matematică
Programul de studii: Matematică informatică - linia de studiu română
Limba de predare: Română

SYLLABUS

I. Date generale
Codul	Disciplina	
MID0010	Verificarea şi validarea sistemelor soft	

Semestrul	Ore: C+S+L	Categoria	Statutul	
6	2+2+0	specialitate	opţională	

II. Cadre didactice cu norma de bază în Universitate
Numele şi	Titlul	Gradul	Catedra	Tipul activităţii	
prenumele	ştiinţific	didactic		C	S	L	
FRENTIU Militon	Dr.	Prof.	Limbaje şi Metode de Programare	*			

Cadre didactice asociate
Numele şi	Titlul	Instituţia	Tipul	Tipul activităţii	
prenumele	ştiinţific		postului	C	S	L	

III. Obiectivele disciplinei
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.

IV. Conţinutul disciplinei
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.

V. 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	

VI. Tematica activităţilor didactice pe săptămâni

VII. Metode didactice folosite

VIII. 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.	

IX. Bibliografie suplimentară

	Data,							Titular curs,
								Prof. Dr. FRENTIU Militon