Universitatea "Babes-Bolyai" Cluj-Napoca
Facultatea de Matematica si Informatica
FISA DISCIPLINEI

Verificarea corectitudinii programelor
Cod
Semes-
trul
Ore: C+S+L
Credite
Tipul
Sectia
MI018
6
2+1+0
5
optionala
Informatică
MI018
6
2+1+0
4
optionala
Matematică-Informatică
Cadre didactice indrumatoare
Prof. Dr. FRENTIU Militon, mfrentiu@cs.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 programelor;
4. Formarea deprinderilor de proiectare a programelor corecte din specificatii;
5. Formarea unui stil modern de programare.
Continut
1. Logica pentru proiectarea programelor.
2. Specificarea programelor.
3. Partial-corectitudine, terminare, total corectitudine.
4. Metoda lui Floyd de demonstrare a corectitudinii.
5. Axiomatizarea lui Hoare.
6. Dijkstra: cea mai slaba preconditie.
7. Rafinarea programelor din specificatii.
8. Verificarea si validarea programelor:
- Inspectarea programelor;
- Executia simbolica;
- Testare si depanare;
- Documentare.
9. Consecinte asupra programarii. Reguli de programare
Bibliografie
1. Balanescu T., Corectitudinea programelor, Editura tehnica, Bucuresti 1995.
2. Dromey G., Program Derivation. The Development of Programs From Specifications, Addison Wesley Publishing Company, 1989.
3. M.Frentiu, Verificarea corectitudinii programelor, Ed.Univ."Petru-Maior", 2001.
4. Gries, The Science of Programming, Springer-Verlag, Berlin, 1981.
5. Manna, Z., Mathematical Theory of Computation, McGrawHill, NewYork, 1974.
6. Articole de specialitate (din Journale si 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 (nota R). La sfarsitul anului activitatea se incheie cu un examen (nota E). Media finala este media celor doua note mentionate, adica F=(R+E)/2.