„A barátságos verseny mindkét felet ösztönzi”

2020.11.11.
„A barátságos verseny mindkét felet ösztönzi”
Simon Thompson a funkcionális programozás kiemelkedő kutatója, több széles körben ismert könyv és mintegy 150 tudományos közlemény fűződik a nevéhez. Az ELTE Programozási Nyelvek és Fordítóprogramok Tanszékével 2007 óta működik együtt K+F+I területen és az oktatásban. Díszdoktorrá avatása alkalmából a professzort kutatásairól és az ELTE-vel való együttműködéséről kérdeztük.

Az ELTE-vel való kapcsolata a funkcionális programozás és a refaktorálás iránti közös érdeklődésből fakad. Az Erlang refaktoráló eszközének fejlesztésében tartós és eredményes együttműködést alakítottak ki az egyetem Informatikai Karán. Kiemelne néhány jelentős szakmai eredményt és emlékezetes epizódot az együttműködésből?
Magyarországon a terület vezető kutatói a Horváth Zoltán által vezetett Programozási Nyelvek és Fordítóprogramok Tanszéken dolgoznak az ELTE Informatikai Karán. A refaktorálás lényege a szoftvertervezés minőségének javítása, a szoftver hibáinak kiküszöbölése úgy, hogy a funkcionalitása változatlan maradjon, azaz a „hogyan” javítása a „mi” érintetlenül hagyása mellett, ha úgy tetszik. A kenti kutatócsoportom is ezen a területen dolgozik, és munkánk kapcsolódik az Ericsson által eredetileg telekommunikációs célokra kifejlesztett nyelv, az Erlang refaktorálásához, melyet ma már jóval szélesebb körben használnak, például a WhatsApp-ban is. A barátságos verseny mindkét csoportra ösztönzőleg hatott, közös munkánk az évek során kiszélesedett és elmélyült.

Az egyik emlékezetes közös kutatásunk során egymással szemben teszteltük az eszközeinket. Tettük ezt úgy, hogy

véletlenszerű programokat és azok refaktorálását készítettük el,

majd ellenőriztük, hogy a két eszköz hogyan viselkedik. Így finom hibákat találtunk mindkét eszközben, és mindkettőt javítani tudtuk.

Együttműködésünk kulcsfontosságú részeként az ELTE-ről vendégül láthattam sok végzős mesterhallgatót Kentben, akik kifejezetten a kutatási projektben való részvétel céljából jöttek hozzánk, hasznos funkciókkal egészítették ki rendszereinket, integrálták más általánosan használt szoftverekkel, és tovább bővítették a Kentben (Wrangler) és az ELTE-n (RefactorErl) fejlesztett eszközöket.

Az együttműködés keretében én is több ízben látogattam Budapestre és jártam az ország más részein is. Szakmai jelentősége miatt különösen emlékezetes maradt Funkcionális Programozás Nyári Iskola, ahol kurzust is tarthattam az érdeklődő hallgatók számára. A nyári iskola megrendezését az Európai Unió támogatta, ami ráirányította a figyelmemet az Unión belüli tudományos kapcsolatok fenntartásának kérdéseire.

Korábban számos ELTE hallgató látogatott Kentbe, mostanában pedig Ön rendszeres látogatója az Informatikai Karnak, részt vesz kutatási tevékenységekben és számos hallgató témavezetője is. Melyek azok a kutatási témák, amelyekben jelenleg részt vesz? Mik a jelenlegi és rövid távú kutatási célok?
Mivel mi olyan eszközöket fejlesztünk, amelyek módosítják a szoftvereket, valamennyi felhasználónak biztosnak kell lennie abban, hogy a módosítások nem okoznak kárt a rendszereikben és a programok valóban jobbá válnak. A hosszú távú célunk az, hogy átgondoljuk a refaktorálásba vetett bizalom alapjait.

Ez a megbízhatóságra koncentráló kutatás Horpácsi Dániellel kezdődött meg, aki először hallgatóként járt Kentben, jelenleg pedig a Programozási Nyelvek és Fordítóprogramok Tanszék munkatársa. Idővel számos egyetemi mester- és doktori hallgatót vontunk be a projektbe, és

együttműködés alakult ki az Illinois Egyetemmel is.

Kombinált tesztelés, "tulajdonság-alapú" véletlenszerű tesztelés, automatizált logikai eszközök (például az SMT Solver Z3) és kézzel írt – de géppel ellenőrzött – bizonyítások kombinációját alkalmazzuk, hogy a felhasználóknak biztosítékot adjanak az átalakító eszközök megbízhatóságára.

Nagyon szeretek együtt dolgozni a tanszék tágabb tudományos közösségével is: a RefactorErl csapattal, a típuselméleti szakemberekkel és a C ++ eszközfejlesztőkkel. Budapesten inspiráló és barátságos környezetben dolgozom, és nagyon várom, hogy ismét személyesen találkozhassak itteni kollégáimmal és barátaimmal.

Végezetül nagy köszönettel tartozom Horváth Zoltánnak. Nagyon nagyra értékelem barátságát és támogatását: erőfeszítései nélkül ez az eredményes együttműködés nem alakulhatott volna ki. Köszönöm az ELTE megtisztelő elismerését.