1. Homepage of Dr. Zoltán Porkoláb
    1. Home
    2. Archive
  2. Teaching
    1. Timetable
    2. Bolyai College
    3. C++ (for mathematicians)
    4. Imperative programming (BSc)
    5. Multiparadigm programming (MSc)
    6. Programming (MSc Aut. Sys.)
    7. Programming languages (PhD)
    8. Software technology lab
    9. Theses proposals (BSc and MSc)
  3. Research
    1. Sustrainability
    2. CodeChecker
    3. CodeCompass
    4. Templight
    5. Projects
    6. Conferences
    7. Publications
    8. PhD students
  4. Affiliations
    1. Dept. of Programming Languages and Compilers
    2. Ericsson Hungary Ltd

Szoftvertechnológiai laboratórium

A hallgatók a szoftvertechnológiai labor keretein belül éles kutatási és fejlesztési projektbe csatlakoznak be, és eközben elsajátítják a legmodernebb szoftvereszközök és fejlesztési módszerek használatát. Az eredményes közreműködésért kreditet kapnak (Msc-n), és a projektmunka beszámítható a kötelező szakmai gyakorlatnak is. A hallgatók által elvégzett munka remek lehetőség szakdolgozat vagy diplomamunka elkészítéséhez, TDK-n való résztvételhez, de volt már arra is példa, hogy valaki nemzetközi konferencián vett részt eredményeivel. A feladatokat tipikusan otthonról is lehet végezni, heti egy-két közös meeting mellett.

A jól teljesítő hallgatókat ezen felül kiemelt ösztöndíjakkal jutalmazzuk. Minden fejlesztés nyílt szoftveren történik, ez kíváló lehetőség szakmai referencia szerzéséhez.

A Model C++ projekt az ELTE IK és az Ericsson közös kutatás-fejlesztési projektje. A projekt célja nagyméretű (100.000 forrássor vagy afeletti) szoftverrendszerek minőségének javítása, jelenleg két alprojektet tartalmaz a CodeCheckert és a CodeCompasst.

A projektmegbeszélések helyszíne és időpontja

Kedves hallgatók, a vizsgaidőszakban a projektmegbeszéléseket előzetes megbeszélés alapján eseti jelleggel tartjuk meg.

A heti meetingek tervezett időpontja hétfő 16.00 - 18.00 Déli 2.702

CodeChecker

A CodeChecker alprojekt statikus elemzés segítségével tud olyan potenciális hibákat felfedezni, melyeket sem a fordító, sem a tesztek nem mutattak ki. A statikus elemzés során a programot nem futtatjuk, hanem csak a forráskódot elemezzük. Jelenleg C/C++ kódokat elemzünk az LLVM/Clang C++ fordító és a ráépülő StaticAnalyzer és a Clang Tidy segítségével. A projektet megtaláljátok a Github-on is: CodeChecker. Felhasználóink, fejlesztő partnereink közt van a Sony, az Apple a Mozilla és a Google is.

A hallgatók a CodeChecker keretrendszer fejlesztése mellett ellenőrzési szabályokat definiálnak és implementálhatnak, de lehetőség van kutatási feladatok elvégzésére is. Remek lehetőség a C és a C++ mélyebb megismerésére.

A kontributált kódokat az Apple és Google mérnökei nézik át, visszajelzéseik alapján rengeteget lehet tanulni.

CodeCompass

Nagyméretű, sok éven át számos programozó által fejlesztett projektek esetében gyakori probléma, hogy már senki sem látja át a rendszer egészét. Márpedig akár hibajavítás, akár új funkció hozzáadása a cél, először a jelenlegi rendszer működését kell megérteni. A piacon léteznek gyors, web-alapú kereső eszközök (pl. az OpenGrok vagy hatékony elemző-kódnavigáló toolok (pl. Understand C++, esetleg kódvizualizációk (pl. SourceInsigh, de a CodeCompass mindezt egyszerre tudja, ráadásul több nyelvre is (jelenleg C, C++, Java és Python támogatott).

A CodeCompass alprojekt ugyancsak nyílt forráskódú. A hallgatók dolgozhatnak nyelvi parsereken (új nyelvekhez), grafikai megjelenítéseken vagy akár a web gui-ban is. A CodeCompass-t mérnökök százai használják az Ericssonban, de használatos más clégeknél is. A CodeCompasst kipróbálhatjátok egy élő demó rendszeren, ami a Xerces nyílt forráskódú könyvtár elemzését mutatja be.

Hasznos linkek

CodeChecker előadás a 2015-ös londoni

EuroLLVM 2015 konferencián:

Slide-ok

CodeCompass előadás a 2017-es saarbrückeni

EuroLLVM 2017 konferencián:

Videó

Slide-ok