Popis tématu

Diplomová práce v oboru Softwarové inženýrství.

Získávání metrik o komponentách z distribučních balíků

Cílem práce je vytvořit nástroj počítající hodnoty vybraných "produktových" metrik pro Java .jar soubory. V rámci této práce bude potřeba analyzovat tzv. produktové metriky (např. cohesion, velikost API, cyklomatická složitost apod.) z pohledu vhodnosti pro softwarové moduly a komponenty. Pro vybranou množinu z nich pak bude třeba vytvořit nástroj, který získá jejich hodnoty z .jar souborů a zpřístupní je v podobě využitelné dalšími nástroji (API, XML metadata). Ideální forma implementace je plugin do úložiště CRCE.

Nástřel bodů zadání:
* seznámit se s CRCE, jeho metadaty, a analýzou komponent v JaCC/OBCC
* nastudovat produktové metriky software a existující nástroje/knihovny, které je umí spočítat (s tím že my pracujeme nad bytecode)
* navrhnout jaké metriky by šly použít pro ohodnocení komponent (zejména rozhraní ale i implementace) s ohledem na využití pro jejich analýzu a vizualizaci
* implementovat plugin do CRCE který bude hodnoty vybraných metrik na uložených komponentách zjišťovat a ukládat do metadat + rozšíření web UI pro jejich zobrazení
* ověřit na příkladu = udělat si základní analýzu hodnot ručně nebo nezávislým nástrojem a porovnat s vlastní impl

Pokyny pro vypracování

Obtaining component metrics from distribution packages

1. Seznamte se s účelem úložiště CRCE a projektů JaCC/OBCC včetně způsobů jejich programátorského použití.
2. Prostudujte produktové metriky software a existující nástroje, které umožňují získat jejich hodnoty.
3. Navrhněte základní sadu metrik vhodných pro ohodnocení Java komponent s ohledem na využití při jejich analýze a vizualizaci.
4. Implementujte nástroj, který bude vybrané metriky určovat pro hotové komponenty, a integrujte jej do úložiště CRCE včetně ukládání a zobrazování získaných hodnot.
5. Funkčnost nástroje a správnost poskytovaných dat ověřte na vhodné sadě komponent.


Literatura
* Stephen Kan: Metrics and Models in Software Quality Engineering (2nd Edition). Addison Wesley
* Lanza, Marinescu, Ducasse: Object-Oriented Metrics in Practice. Springer
* Brada, P., Jezek, K. Ensuring Component Application Consistency on Small Devices: A Repository-Based Approach. Proceedings of 38th Euromicro Conference on Software Engineering and Advanced Applications. IEEE Computer Society, 2012.
* Bauml, J., Brada, P., Reconstruction of Type Information from
Java Bytecode for Component Compatibility. Electronic Notes in Theoretical Computer Science 264 (4), 2011.

Podrobnosti: https://www.assembla.com/spaces/crce/

Téma vypsal: Doc. Ing. Přemysl Brada, MSc., Ph.D. (UC 354)

Vypsáno pro akademický rok 2013/2014 dne: 2013-04-22

Zadáno komu: Jan Šmajcl (dokončeno: 2014-05-22)

Aktualizováno 0