Ugrás a tartalomhoz

model checking

A Wikiszótárból, a nyitott szótárból


Főnév

model checking (tsz. model checkings)

  1. (informatika) A model checking (magyarul: modellellenőrzés) egy automatikus formális verifikációs technika, amely segítségével egy rendszer formális modelljének minden lehetséges állapotát végigvizsgálják annak érdekében, hogy ellenőrizzék, teljesíti-e a kívánt tulajdonságokat (például helyességi vagy biztonsági követelményeket).



Mi a modellellenőrzés?

  • Egy formális modell (pl. véges állapotgép) segítségével reprezentáljuk a vizsgált rendszert.
  • Egy logikai formulát (pl. lineáris idő logika LTL vagy elágazó idő logika CTL) fogalmazunk meg a rendszer tulajdonságairól.
  • A model checker automatikusan megvizsgálja, hogy a modell kielégíti-e a formulát.
  • Ha nem, akkor hibapéldát (counterexample) ad, amely megmutatja, hol és hogyan sérül a tulajdonság.



Felhasználási területek

  • Hardverek verifikációja (pl. processzormagok, vezérlők)
  • Szoftverek helyességének ellenőrzése (biztonsági protokollok, beágyazott rendszerek)
  • Kommunikációs protokollok vizsgálata



Modellellenőrzési lépések

  1. Modellalkotás: A rendszer viselkedését egy véges állapotgépben definiáljuk.
  2. Specifikáció megadása: A kívánt tulajdonságokat formális logikában fejezzük ki.
  3. Automatikus ellenőrzés: A model checker végigpróbál minden lehetséges állapotot és átmenetet.
  4. Eredmény: Igaz vagy hamis, esetleg hibapéldával.



Előnyök

  • Teljeskörű ellenőrzés (nem csak mintavételezés)
  • Hibapéldák automatikus generálása
  • Formális, matematikailag megalapozott



Hátrányok

  • Állapotrobbanás (state explosion) probléma nagy rendszerek esetén
  • Modellezés bonyolultsága



Összefoglalás

Fogalom Leírás
Model checking Automatikus formális rendszerellenőrzés
Alapja Véges állapotgép modell + formális logikai specifikáció
Kimenet Igazságérték vagy hibapélda