De igen végsősoron arra való. A probléma ott kezdődik, hogy hogyan specifikálod a "helyes" működést. Nyilván nem tudsz minden részletre kiterjedő specifikációt adni (legalábbis csak nagyon egyszerű feladatnál van rá esély), verifikálni viszont csak a specifikációnak megfelelőséget lehet. Vannak bizonyos szabványok, amik különféle biztonságkritikus rendszerekben való használhatóságnak előfeltételeit rögzítik. Legközismertebb példa: ha egy OS kernel elvileg képes valamilyen módon deadlockba kerülni, akkor biztosan nem felel meg.
Viszont tekinthető bugnak az is, ha a rendszerhívási API-ban valami nem úgy működik, ahogy az logikusan elvárható lenne (a specifikációban nincs kellően pontosan rögzítve, hogy hogyan is kéne működnie), nem fagy le a rendszer tőle, nem befolyásolja a kernel többi részét, más folyamatokat, de maga a hívás nem azt csinálja, amit kéne. Emiatt csak valami workarounddal lehet megoldani a feladatot. Ettől még az adott OS megszerezheti a DO178B, ARINC653, vagy MISRA vagy tudomisén milyen egyéb szervezetek előírásainak való megfelelőséget, mert teljesíti azt, amit ezek a szabványok előírnak, a bug ezeket az előírások nem veszélyezteti. Nyilván akkor, ha repülőgépre akarja valaki telepíteni, akkor nemcsak az OS-t, hanem a rajta futó alkalmazásokat és a futtató hardvert is egyben, integráltan kell vizsgálni, itt érdekesek lehetnek az eddig le nem fedett bugok is. Ha az alkalmazásfejlesztő workaroundolja az OS API őt érintő bugjait, akkor megszerezhető minősítés.
---
Internet Memetikai Tanszék