Former Labs

Calitate si Evolutie Software

Regulament Laborator 2020

  • In cadrul laboratorului vor fi realizate diferite activitati care vor fi prezentate saptamanile viitoare.
  • Vinerea laboratorul incepe la 8:10.

Saptamana 2

Saptamana 3

Saptamana 4 - Predare Activitate A1 (Individuala)

  • Pondere: 25% (2.5 puncte)
  • Termen maxim de predare: Saptamana 4 (10, 13 Martie)
  • Prezentarea unui instrument software (tool) din categoria Source Code Analyzer existent pe http://marketplace.eclipse.org. Va rog sa nu prezentati FindBugs!
  • Se poate prezenta si un alt tool de analiza statica ce nu este disponibil pe http://marketplace.eclipse.org!

Saptamana 5+ - Activitate A2 (Individuala sau Echipa formata din 2 studenti) - teme/activitati din lista de mai jos sau altele asemanatoare (cele propuse de voi vor fi discutate cu mine) cel tarziu pana in 13 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 fiecarei activitati va fi micsorat cu un punct.

  • Pondere: 75% (7.5 puncte)
  • Termen de predare: Saptamana 7!
  • Pot fi prezentate activitati ale caror punctaje insumeaza maxim 8 puncte.

Pentru fiecare activitate mentionati in document utilitatea ei!
Lista Activitati:

  • A1 [1 punct] Pentru un sistem open-source disponibil pe git creati un tag cloud bazat pe mesajele de commit.
  • A2 [1.5 puncte] Pentru fiecare entitate dintr-un proiect extrageti in aceeasi structura de date numarul de revizii si numarul de linii de cod.
  • A3 [1.5 puncte] Pentru fiecare entitate dintr-un proiect extrageti in aceeasi structura de date numarul de revizii si numarul de autori.
  • A4 [2 puncte] Pentru fiecare entitate dintr-un proiect extrageti autorul cu cele mai multe linii de cod introduse.
  • 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.
  • 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.
  • 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.
  • A8 [3 puncte] Prezentati cum au evoluat anumite clase de tip GodClass in cel putin trei versiuni ale unui sistem (e.g. ArgoUML, FindBugs).
  • A9 [2 puncte] Prezentati daca sunt sau nu probleme legate de tratarea exceptiilor intr-un sistem ales de voi.
  • A10 [2 puncte] Inlocuiti intr-un proiect JavaScript/TypeScript cateva (cel putin 5) instructiuni for clasice folosind .map, .filter si .reduce.