Lab

Calitate si Evolutie Software

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) cel tarziu pana in 15 Martie. 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 majoritatea (A1 - A5, A8) trebuie 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: 75% (7.5 puncte)
  • Termen de predare: Saptamanile 4 - 6. In saptamana 6 se vor putea preda maxim 2 teme iar in Saptamana 7 se va putea preda o singura tema.
  • Pot fi prezentate teme ale caror punctaje insumeaza maxim 8 puncte.
  1. A1 [1 puncte] Pentru un sistem open-source disponibil pe git creati un tag cloud bazat pe mesajele de commit.
  2. A2 [1.5 puncte] Pentru fiecare entitate dintr-un proiect extrageti numarul de revizii si numarul de linii de cod.
  3. A3 [1.5 puncte] Pentru fiecare entitate dintr-un proiect extrageti numarul de revizii si numarul de autori.
  4. A4 [2 puncte] Pentru fiecare entitate dintr-un proiect extrageti autorul cu cele mai multe linii de cod introduse.
  5. A5 [3 puncte] Studiati cuplajul temporal dintre entitatile unui sistem si strict pe baza acestuia incercati sa identificati entitati care nu respecta principii de proiectare oo.
  6. A6 [3.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.
  7. A7 [3 puncte] Creati un raport despre carentele de proiectare (e.g. bad smells) existente intr-un sistem, si propuneti solutii de refactorizare la cel putin trei probleme distincte.
  8. A8 [3 puncte] Prezentati cum au evoluat anumite clase de tip GodClass in cel putin trei versiuni ale unui sistem (e.g. ArgoUML, FindBugs).
  9. A9 [2 puncte] Prezentati daca sunt sau nu probleme legate de tratarea exceptiilor intr-un sistem ales de voi.
  10. A10 [2 puncte] Prezentati evolutia exceptiilor in cel putin trei versiuni ale unui sistem (e.g. ArgoUML, FindBugs).

Regulament Laborator 2019

  • 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.
  • In ultima saptamana se va putea preda o singura tema aferenta Activitatii A2.
  • Vinerea laboratorul incepe la 8:10.

Saptamana 1,2 - Activitate A1 (Individuala)

  • Pondere: 25% (2.5 puncte)
  • Termen maxim de predare: Saptamana 2 (Vineri 1 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 cel mai tarziu marti, 26 Februarie, la curs.