Szakdolgozat és diplomamunka témák
A lenti témák szakdolgozatként és diplomamunkaként is választhatók. Programozási kedv jól jön. A témák megvalósíthatók szokásos (egyszerűbb) módon is, de kutatási szempontból is érdekesek lehetnek, érdeklődés esetén TDK dolgozat is készíthető belőlük.
Ajánló/súgó rendszerek a szoftverfejlesztésben (Recommendation Systems for Software Engineering)
Témakör: szoftverfejlesztésFeladat: A szoftverfejlesztés során többféle ajánló rendszert alkalmazunk, pl. ilyen gépelés közbeni kód-kiegészítő funkció (intellisense, code completion). A feladat egy ajánló rendszer kiválasztása, megvalósítása és kiértékelése. A nagyobb IDE-k (Visual Studio, Eclipse) adnak támogatást arra hogy gépeléskor meg tudjuk adni mi jelenjen meg ajánlatként, emellett meglévő program elemzők is felkhasználhatók. Pl. kód-kiegészítésnél például egy osztály módosításához ajánlható egy hozzáértő fejlesztő aki segíteni tud (az alapján hogy lekérjük ki módosította svn-ben az adott osztályt utoljára).Jelentkezhet: 3 hallgatóFeltételek: programozási kedv, angol nyelvű szakszöveg megértéseSzakok: a tanszékcsoport minden szakja számára
Hibás osztály automatikus keresése hibajelentés (bug report) alapján
Témakör: szoftverfejlesztésFeladat: Feladat a hibajelentés alapján (pl. https://bugs.webkit.org/show_bug.cgi?id=122565) a forráskódban beazonosítani azokat az osztályokat, melyek nagy valószínűséggel hibásak, vagyis a hiba javításához őket kell módosítani. A legegyszerűbb megoldás a hibajelentésben szereplő szavak és az osztályokban szerepló azonosító nevek között nézi az egyezéseket, és a legnagyobb egyezést adó osztályt adja eredményül. A munkához felhasználható bármelyik opensource projekt bug adatbázisa és forráskódja, így megvalósított program éles bugokon is tesztelhető.Jelentkezhet: 1 hallgatóFeltételek: programozási kedv, angol nyelvű szakszöveg megértéseSzakok: a tanszékcsoport minden szakja számára
Bug duplikációk keresése (Bug triage - bug duplicates)
Témakör: szoftverfejlesztésFeladat: A bejelentett hibák (bugok pl. https://bugs.webkit.org/show_bug.cgi?id=122565) nem kerülnek azonnal javításra, hanem nagyobb rendszereknél (pl. Ubuntu vagy Chromium) először átvizsgálják és kategorizálják őket (bug triaging). Ennek egy fontos lépése annak ellenőrzése, hogy ugyanezt a hibát bejelentették-e már, s ha igen akkor a bugot meg kell jelölni (duplikált bug). A dolgozat témája bug duplikációk automatikus keresése hasonlóság alapján. A dolgozat során kidolgozott módszert egy kiválasztott opensource projekt bug adatbázisán kell kiértékelni.Jelentkezhet: 2 hallgatóFeltételek: programozási kedv, angol nyelvű szakszöveg megértéseSzakok: a tanszékcsoport minden szakja számára
Hibakezelő rendszerhez előrejelző modul fejlesztése (bugok javitási idéjének és a javítás méretének becslése)
Témakör: szoftverfejlesztésFeladat: Egy szabadon választott hibakezelő rendszert (Bugzilla, Trac, Jira) kell úgy kiegészíteni, hogy egy beérkező hibajelentésre a régi hibák és javításaik alapján meg tudjuk becsülni, hogy az adott hibát mennyi idő alatt fogják kijavítani és a javítás kicsi vagy nagyobb kódrészlettel oldható meg. A kiegészítés rendszertől függően lehet plugin jellegű vagy egy önálló honlap is, ami a hibakezelőből nyeri az adatokat. A háttérben gépi tanulás során előállított modell ad becslést.Jelentkezhet: 1 hallgatóFeltételek: programozási kedv, angol nyelvű szakszöveg megértéseSzakok: a tanszékcsoport minden szakja számára
C++ fordító kiegészítése preprocesszor modell építéssel (gcc, clang)
Témakör: szoftverfejlesztésFeladat: A feladat a kiválasztott C/C++ fordító működését úgy módpsítani, hogy a preprocesszálás során felépítsen egy preprocesszor modellt (include, ifdef, define). A modell építése egy már meglevő API segítségével történik.Jelentkezhet: 3 hallgatóFeltételek: programozási kedv, angol nyelvű szakszöveg megértéseSzakok: a tanszékcsoport minden szakja számára
C/C++ programok preprocesszoros függőségeinek megjelenítése
Témakör: szoftverfejlesztésFeladat: A C/C++ preprocesszor miatt (#define, #if, #include) különböző függőségek léteznek a programokban, melyek a programotó számára nem láthatóak, egy-egy ilyen függőség feltárása szoftverfejlesztés/debug közben sok energiát emészthet fel. Feladat egy szoftver készítése mely összegyűjti és megjelíti ezeket a függőségeket (szövegszerkesztőben és grafikusan is).Jelentkezhet: 1 hallgatóFeltételek: programozási kedv, angol nyelvű szakszöveg megértéseSzakok: a tanszékcsoport minden szakja számára