Uznanie na medzinárodných vedeckých konferenciách, zefektívnené vyhľadávanie v zdrojových kódoch, lepšia orientácia vo veľkom množstve firemných informácií, vyššia kvalita softvérových produktov či biologicky inšpirované algoritmy. To sú výsledky PerConIK-u, spoločného projektu spoločnosti Gratex International a Fakulty informatiky a informačných technológií STU v Bratislave.
Projekt PerConIK hľadal riešenie, ktoré by malo zefektívniť prácu programátorov v stredných a vo veľkých tímoch, pomôcť im pochopiť komplikovanú štruktúru kódov, určiť ich autorov, umožniť im opätovné použitie zdrojového kódu a celkovo uľahčiť vyhľadávanie vo veľkom množstve informácií. Najvýznamnejšie výsledky projektu – vizualizácia softvéru a efektívne metódy vyhľadávania v zdrojovom kóde – zjednodušujú prácu nielen programátorom, ale aj ich nadriadeným a tímovým nováčikom.
Medzinárodné uznanie
PerConIK priniesol nielen zaujímavé výsledky, ale mladým výskumníkom aj dôležité kontakty. To, že projekt riešil problematiku, ktorej sa venuje celosvetová pozornosť, ukazuje aj príbeh doktoranda FIIT STU Martina Konôpku. Svoje doterajšie výsledky prezentoval na najväčšej medzinárodnej konferencii venovanej softvérovému inžinierstvu ICSE 2015. K jeho posteru chodili kapacity, ktoré dovtedy poznal len z publikácií, a ktoré často citoval vo svojich prácach. O jeho metódu sa živo zaujímal napríklad Grady Booch, celosvetovo uznávaný softvérový inžinier a tvorca Unified Modeling Language, významný autor kníh, výskumník v IBM a Rational Software Corporation.
Čiastkové výsledky projektu boli už teraz prezentované napríklad na svetovom kongrese IEEE NABIC, na medzinárodných zahraničných konferenciách ako International Conference on Software Engineering (ICSE), International Conference on Web Engineering (ICWE), UMAP, DEXA, ICL, WSCD, IAT, SMAP, WISM. Taktiež v časopisoch LNCS Transaction on Computational Science, International Journal on Semantic Web and Information Systems, a v prestížnych karentovaných časopisoch série ACM IEEE Transaction a World Wide Web, pričom kritéria na publikovanie boli prekročené ešte pred ukončením projektu.
Kľúčový význam dát pre študentov softvérového inžinierstva
Veľkým prínosom projektu PerConIK boli aj testovacie dáta, ktoré výskumníkom univerzity poskytla spoločnosť Gratex International. Dáta sú pre výskum v oblasti softvérového inžinierstva kľúčovým a ťažko dostupným materiálom. „Dáta z reálnej prevádzky softvérovej firmy a živých projektov nie sú verejne nikde dostupné. Projekt nám umožnil pracovať s unikátnymi dátami a riešiť zaujímavé problémy, ktoré majú jasné uplatnenie v praxi,“ hovorí Michal Barla, doktorand FIIT STU, ktorý na projekte PerConIK aktívne spolupracoval.
VÝSLEDKY PROJEKTU
Vizualizácia softvéru pre efektívnejšiu prácu IT tímov
„Pri prehľadávaní a vizualizácii softvéru sme boli vedení skúsenosťou, že nový člen tímu potrebuje poznať nielen štruktúru projektu, ale aj autora kódu. Kvalitu kódu hodnotí expertný systém podľa pachov a antivzorov, ktoré autori vo svojom kóde zanechávajú a tiež vedúci programátori značkami a komentármi priamo v kóde. Systém následne odporučí expertov – autorov s tým najčistejším kódom,“ vysvetľuje Michal Barla.
Prehľadávanie a vizualizáciu môže použiť aj vedúci tímu alebo jeho vyšší nadriadený, keď chcú poznať, ako sa darí nováčikom – koľko kódu a nakoľko čistého už napísali, ako sú vyťažení skúsení programátori alebo keď potrebujú zrelých odborníkov do nového projektu s podobným obsahom.
Skvalitnenie softvérového produktu
V rámci projektu PerConIK sa rozvíjali aj metódy vyhľadávania informácií a tém v zdrojovom kóde a spôsoby, akými odhaľovať duplicity vo veľkých softvérových projektoch. „Takéto duplicity sú často neželaným javom a naším cieľom je umožniť vývojárom namiesto zavedenia duplicity radšej opätovne použiť už existujúci zdrojový kód. Tým sa nielen optimalizuje ich práca, ale vzniká aj kvalitnejší softvérový produkt,“ vysvetľuje Michal Barla.
Výsledkom projektu je aj infraštruktúra, ktorá umožňuje programátorom a tiež programom zapisovať ku zdrojovým kódom rôzne poznámky a značky – napríklad poznámku o neoptimálnom riešení problému, chybe alebo informáciu, že na tomto kúsku kódu práve teraz intenzívne pracuje niekto iný. „Výzvou bolo nájsť také „ukotvenie“ značiek v kóde, ktoré dokáže prežiť základné editovanie súboru a mať tak spoľahlivú vrstvu metadát, ktoré vieme ukladať k jednotlivým zdrojovým súborom,“ pokračuje Michal Barla.
Tieto metadáta sú potom dostupné vývojárom a rovnako aj iným programom priamo v ich vývojom prostredí alebo napríklad cez webový systém CodeReview, ktorý vznikol v rámci projektu PerConIK. Tento systém sa na Fakulte informatiky a informačných technológií STU využíva aj pri výučbe v tímových projektoch.
Biologicky inšpirované algoritmy
Mladí výskumníci taktiež skúmali biologicky inšpirované algoritmy, ktoré by zdokonalili
vyhľadávanie v zdrojovom kóde. Konkrétne išlo o algoritmy zhlukovania, ktoré boli inšpirované správaním sa včiel a mravcov. „Včely spolu komunikujú pri vyhľadávaní zdrojov potravy. Ak nájdu dobrý zdroj, tancom presviedčajú ostatné, aby išli za nimi. Pre nás informatikov sú potravou dáta – dokumenty a zdrojové kódy. Zhlukovanie je potrebné na to, aby si programátor našiel zhluk podobných fragmentov zdrojového kódu, poučil sa z nich a vybral si časť na opätovné použitie,“ približuje výsledky Michal Barla.
Autor fotografií: Mária Bieliková, profesorka na FIIT STU zodpovedná za PerConIK