Ellenőrzés és tesztelés

Ellenőrzés és tesztelés

Vezető kutató: 
István Majzik

Kritikus rendszerek (pl. járművek, robotok, irányítórendszerek szoftvere) esetén egy-egy hibának akár katasztrofális következményei is lehetnek. Így nem engedhető meg, hogy a hibákat csak a használat során vegyük észre, és utólag próbáljuk javítani. A fejlesztés minden fázisában szükség van olyan precíz tesztelési és ellenőrzési technikákra, amelyek hatékonyan biztosítják a fejlesztett rendszer helyes és biztonságos működését.

A specifikáció és a tervek készítésének fázisában az ellenőrzéshez hátteret adnak a precíz, modell alapú tervezési és verifikációs módszerek. A forráskód készítés során az ellenőrzés statikus analízis eszközökkel történhet. A teszttervezés is hatékonyan támogatható ezekkel a technikákkal.  A hibavédelem utolsó bástyái pedig a futásidőbeli monitorok, amelyek véletlen hardver hibák esetén is képesek a biztonsági problémákat felismerni és beavatkozást indítani. Ezeken a területeken jelentős kihívásokat támasztanak az intelligens algoritmusokat alkalmazó korszerű rendszerek (pl. önvezető járművek, autonóm robotok, tanuló és adaptív rendszerek): hogyan tudjuk ezek helyességét és biztonságos működését ellenőrizni?

A témacsoport keretében tehát - a tervezők és fejlesztők számára egyre inkább nélkülözhetetlen - tesztelési és ellenőrzési eszközökkel és módszerekkel lehet megismerkedni, valamint ilyenek alkalmazásába lehet bekapcsolódni.

A lehetséges témalaboratórium és önálló laboratórium feladatok keretében hallgatóink foglalkozhatnak például eszközfejlesztéssel (akár csatlakozva már meglévő fejlesztői csapatokhoz, pl. Gamma, Theta, PetriDotNet), az ellenőrzéshez szükséges hatékony algoritmusokkal, demo rendszereinkkel (pl. MODES3) vagy éppen (ipari partnereink által javasolt) konkrét modellezési és ellenőrzési feladatokkal.

A feladatcsoport tipikus témái:

  • Biztonságkritikus szoftverek (autó, repülő, vasúti alkalmazások) fejlesztésének megismerése,
  • Tervek és modellek helyességének ellenőrzése,
  • Szoftverek (forráskód) hibáinak felderítése,
  • Ellenőrző eszközök fejlesztése, ezekhez új algoritmusok és technikák kitalálása, megvalósítása,
  • Monitorok fejlesztése autonóm működésű rendszerekhez,
  • Adaptív és dinamikus architektúrájú rendszerek analízise.
 
Megismerhető technológiák: 
  • Követelmények precíz leírása (forgatókönyvek, LSC, MSC, temporális logikák) és követelménykezelés (DOORS)
  • Modell alapú tervezés: Petri-hálók, időzített automaták, állapottérképek (PetriDotNet, UPPAAL eszközök)
  • Modellek automatikus ellenőrzése (PetriDotNet, nuSMV, SAL, SCADE)
  • Tervezési minták hibatűréshez (redundancia, átkonfigurálás)
  • Forráskód ellenőrzés (PMD, FindBugs)
  • Futásidejű monitorozás (MOP, Eagle, RuleR)
  • Biztonságkritikus rendszerek fejlesztési szabványai (vasúti és autóipari alkalmazások)
  • Ellenőrzési eszközláncok, verifikációs és validációs folyamatok tervezése (SPEM, BPMN)

Folyamatban levő témák

Cím Konzulensek
Modellvasút vezérlőszoftver modell alapú fejlesztése András Vörös
Nagyméretű aszinkron rendszerek korlátos modellellenőrzése András Vörös
PetriDotNet András Vörös
Kombinált explicit és implicit állapottér felderítő és modellellenőrző algoritmusok fejlesztése, implementálása András Vörös
Absztrakciós módszerek a modellellenőrzésben András Vörös
Absztrakt interpretáció alapú verifikáció András Vörös
Időzített rendszerek ellenőrzése András Vörös
PLC kódok modellellenőrzése
Ellenőrző kódrészletek illesztése C programokhoz István Majzik
Modellvasút vezérlőszoftver fejlesztése elosztott, beágyazott környezetben András Vörös
Modellellenőrző módszerek és algoritmusok összehasonlítása, mérési kampányok tervezése András Vörös
Autonóm rendszerek működésének futásidőbeli ellenőrzése István Majzik
Hibaterjedési vizsgálatok üzleti folyamat alapú rendszerekben László Gönczy
Szaturáció alapú Lineáris Temporális Logikai modellellenőrzés András Vörös
Lineáris tranzíciós rendszerek absztrakt interpretáció alapú verifikációja András Vörös
Monitor generálás temporális logikai követelményekből István Majzik
Az LTSmin modellellenőrző vizsgálata és kiterjesztése Vince Molnár
Korszerű modellellenőrző eszközök felmérése (2 fő)
Részleges rendezéses redukció alkalmazása modellellenőrzésben Vince Molnár
Bejárási stratégiák és adatszerkezetek vizsgálata szimbolikus modellellenőrzésben Vince Molnár
Monitor generálás scenario alapú követelményekből István Majzik
Hierarchikus állapotgépek formális verifikációja
Komponens alapú rendszerek megbízhatósági analízise István Majzik
Autonóm robotok szimulátor alapú tesztelése
Kritikus protokollok modellezése István Majzik
Állapot-alapú mérnöki modellek formális verifikációja
AUTOSAR SPI Handler Driver modul tesztelése István Majzik