Jelenlegi hely

Kutatás

A Szoftverfejlesztés Tanszék kutatása

A Szoftverfejlesztés tanszék kutatóinak eredményeit jól jellemzi a tudományos publikációk és a különböző tudományos bizottságokban betöltött tisztségek magas száma. Utóbbiak közül különösen említésre méltó az International Conference on Software Engineering (ICSE), az International Conference on Software Maintenance (ICSM), és az European Conference on Software Maintenance and Reengineering (CSMR).

A kutatási tevékenységen és a nemzetközi tudományos életben való aktív részvétel mellett kutatóink több rangos konferencia szervezését is irányították, mint például a European Conference on Software Maintenance and Reengineering (CSMR2002), a IEEE International Conference on Software Maintenance (ICSM2005), valamint az European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE2011). A fentieken kívül rendszeresen megrendezésre kerül a Szabad Szoftver Konferencia.

A kezdetektől fogva hangsúlyt fektettünk arra, hogy kutatócsoportjaink innovációs potenciálját a kutatás-fejlesztési projektek során is kamatoztassuk. A kutatás-fejlesztési munkában meghatározó szerep jut vezető kutatóinknak, a megvalósítás során támaszkodunk tapasztalt szoftverfejlesztőink munkájára is.

Az elmúlt évek alatt sokrétű funkcionalitást feledő eszközkészletet fejlesztettünk ki, melynek során széleskörű tapasztalatokat gyűjtöttünk a szoftverminőség biztosítás területén, különösen nagy rendszerek vonatkozásában. Tudományos eredményeink alapján a Szoftverfejlesztés tanszék világviszonylatban a 10 legelismertebb szoftverminőség labor közé tartozik.

Az egyre növekvő számú európai unió által meghirdetett, nemzeti, illetve ipari kutatás-fejlesztési projektben való részvétel fontosságát és előnyeit felismerve bővítettük kutatási területeinket és kapacitásunkat. Ennek eredményeképpen M2M és beágyazott rendszerek, Nyílt forráskódú fejlesztések, és Web alapú információs rendszerek kutatócsoport kezdte meg működését. A csoportok projektjeik megvalósítása során önállóan, de egymással együttműködve dolgoznak.
 

 

A tanszék fő kutatási területei

Szoftverminőség

Az informatikai cégek tapasztalata szerint a több millió programsort tartalmazó nagy, összetett programrendszerek karbantartásának erőforrásigénye koránt sem elhanyagolható. Ezeknek az erőforrásoknak a legnagyobb részét a tesztelés, a hibajavítás, az újonnan igényelt funkciók megvalósítása, illetve a működési környezet változása miatt szükséges módosítások emésztik fel. A forráskód folyamatos változása elkerülhetetlenül a minőség romlásához vezet, melynek üteme azonban mérsékelhető termék alapú (pl. Columbus) vagy folyamat alapú (pl. ISO, CMMI) minőségbiztosítási módszerekkel. A Szoftverfejlesztés tanszéknek hosszútávú tapasztalata van a szoftver minőséggel kapcsolatos eszközök és technológiák fejlesztése terén, 1997 óta zajlanak kutatás-fejlesztési projektek ezen a területen. A projektek témája a forráskódelemzők (Java, C/C++, C#, PL/SQL, Python) fejlesztésétől a több millió forrássorból álló nagy rendszerek elemzéséig terjed. Az alkalmazott Columbus technológia az eszközök és módszerek széles tárházát vonultatja fel: szoftverminőség-biztosítás, statikus forráskódelemzés, minőség-monitorozó keretrendszerek, minőség modellek, teszt-hatékonyság javító módszerek (pl. automatikus teszteset kiválasztás, teszteset generálás, teszt lefedettség mérés, teszt automatizálás), szoftver architektúra rekonstrukció.

M2M és beágyazott rendszerek

A Machine-to-Machine (M2M) hálózatok egy olyan speciális, kihívásokkal teli terület, amely mind hardver, mind szoftver szempontból erősen elosztott és heterogén megoldásokat tesz szükségessé. Nem kizárólag szoftverfejlesztési feladatok megoldását igényli, érinti a telekommunikáció, a hardver tervezés és fejlesztés, valamint olyan egyéb területeket is, mint például az egészségügy és az automatikus mérőleolvasás. Ipari és akadémiai partnerekkel közösen számos kutatás-fejlesztési és ipari projektben vettünk részt olyan részterületeken, mint például a beágyazott rendszerek (XEEMU, Flash), a kommunikációs technológiák (Geant2, Geant3, Peces-FP7), és a skálázható üzleti rendszerek tervezése és fejlesztése (C@R-FP6, CONVERGE-FP7). Felismertük, hogy az M2M hálózatokkal kapcsolatban felmerülő kihívások kezeléséhez jól átgondolt és kifinomult megközelítésre van szükség. Az általunk kifejlesztett Szoftver Referencia Architektúra egy olyan keretrendszer, amely nem csak a szoftver javasolt szerkezetének, hanem a felhasználandó eszközök és módszerek leírásában is segítséget nyújt, ezáltal a teljes költség minimalizálható. A projektek jelentős részében az alap szoftver architektúra tervezéséért voltunk felelősek (pl. C@R-FP6, Converge-FP7, Proseniis, Medistance).

Nyílt forráskódú fejlesztések

A nyílt forráskódú és a szabad szoftverekben mind oktatási, mind fejlesztési szempontból nagy potenciál rejlik. A Szoftverfejlesztés tanszék hosszú ideje közreműködik nyílt forráskódú fejlesztési projektekben és együttműködik a nyílt forráskódú fejlesztői közösséggekkel. Ennek keretében fordítóprogram fejlesztés, file-rendszer implementáció, Drupal alapú fejlesztések, illetve beágyazott rendszerek energia-gazdálkodásának optimalizálása területén fejtettünk ki aktív tevékonységet. 2002 óta intenzíven részt veszünk a nyílt forráskódú rendszerek minőségbiztosításában.

Web alapú információs rendszerek

A legtöbb nagyobb intézmény használ egy vagy több információs rendszert adatainak és folyamatainak hatékony menedzselésére. Megvalósításukra a webes megoldások a legnépszerűbbek közé tartoznak, amelyek egy egyszerű böngészővel bárhonnan, bármikor, akár okostelefonról is használhatóak. Megvalósításukkor a hatékonyság és használhatóság mellett a stabilitási és biztonsági aspektusok is általában kiemelt szerephez jutnak. Tanszékünk spin off cégeivel együtt számos ilyen rendszer megalkotásában és optimalizálásában vett részt Drupal, PHP/Symfony és Ruby on Rails alapokon, mint amilyen például a több, mint 80 magyarországi kórházban használt Újszülöttkori Anyagcsereszűrű Laboratórium információs rendszer, vagy a számos egyetem és iparkamara által használt pályázati pénzügyi szoftver, a ProAnt. Ezeken túl egy országos pályázati program keretében egy Moodle alapú egységes e-learing keretrendszert is továbbfejlesztünk a 21. Századi tanulási igényeknek megfelelően.
 

A tanszéken végzett kutatás/fejlesztési tevékenységek