Lab

Calitate si Evolutie Software

Regulament Laborator 2018

  • In cadrul laboratorului vor fi realizate doua activitati.
  • Fiecare activitate are o pondere in nota finala. Pentru a incheia laboratorul nota finala obtinuta din activitati trebuie sa fie cel putin 5.
  • Vinerea laboratorul incepe la 8:10.
  • Situatia Notelor: aici.

Orar special - Saptamana 7

  • Predari de activitati - marti 3 Aprilie de la ora 18 in ASPC (dupa 23 Martie se va putea preda un singur proiect)

Saptamana 1,2 - Activitate A1 (Individuala)

  • Pondere: 30% (3 puncte)
  • Termen maxim de predare: Saptamana 2 (Vineri 2 Martie)
  • Prezentarea unui instrument software (tool) din categoria Markets/Tools/Source Code Analyzer existent pe http://marketplace.eclipse.org. Va rog sa nu prezentati FindBugs!
  • Se poate prezenta si un alt tool ce nu este disponibil pe http://marketplace.eclipse.org in categoria Markets/Tools/Source Code Analyzer dar acest lucru trebuie sa fie anuntat inainte cu cel putin 4 zile inainte de prezentare

Saptamana 3+ - Activitate A2 (Individuala sau Echipa formata din 2 studenti) - proiecte din lista de mai jos sau alte proiecte asemanatoare (temele proiectelor propuse de voi vor fi discutate cu mine). Rezultatele analizei/analizelor vor fi descrise intr-un document (e.g. MS Word). Sistemele ce vor fi analizate trebuie sa fie de dimensiuni mari (> 1000 de metode) si sa aiba o istorie ce poate fi extrasa dintr-un sistem de versionare. Daca sistemele analizate nu sunt corespunzatoare, punctajul aferent fiecarui proiect va fi micsorat cu un punct.

  • Pondere: 70% (7 puncte)
  • Termen de predare: Saptamanile 4 - 6 (dupa 23 Martie se va putea preda doar un singur proiect)
  1. [3 puncte] Pentru un sistem open-source disponibil pe git creati un tag cloud bazat pe mesajele de commit.
  2. [1 punct] Pentru un sistem open-source disponibil pe git extrageti numarul de autori, commit-uri si entitati.
  3. [3 puncte] Pentru fiecare entitate dintr-un proiect extrageti numarul de revizii si numarul de linii de cod.
  4. [3 puncte] Pentru fiecare entitate dintr-un proiect extrageti numarul de revizii si numarul de autori.
  5. [3 puncte] Pentru fiecare entitate dintr-un proiect extrageti autorul cu cele mai multe linii de cod introduse.
  6. [7 puncte] Studiati cuplajul temporal dintre entitatile unui sistem si strict pe baza acestuia incercati sa identificati entitati care nu respecta principii de proiectare oo. Sistemul analizat trebuie sa fie implementat folosind un limbaj dinamic (e.g. python).
  7. [5 puncte] Creati un raport despre duplicarile de cod existente intr-un sistem, si propuneti solutii de refactorizare la cel putin trei duplicari gasite. Puteti folositi pentru detectia duplicarilor de cod tool-ul Dude (parte din iPlasma). inDuDe.sh poate fi descarcat de aici - Extensia trebuie redenumita din .txt in .sh.
  8. [5 puncte] Creati un raport despre problemele de proiectare existente intr-un sistem, si propuneti solutii de refactorizare la cel putin trei probleme distincte. Folositi pentru asta tool-ul iPlasma.
  9. [4 puncte] Prezentati cum au evoluat anumite clase de tip GodClass in cel putin trei versiuni ale unui sistem (e.g. ArgoUML, FindBugs).
  10. [3 puncte] Prezentati daca sunt sau nu probleme legate de tratarea exceptiilor intr-un sistem ales de voi.
  11. [3 puncte] Prezentati evolutia exceptiilor in cel putin trei versiuni ale unui sistem (e.g. ArgoUML, FindBugs).