Nálunk a hibák nagy része nem a validálás hiányából ered. De ahol mégis, ott sem az a baj, hogy a kódoló általában ne validálná az inputokat, hanem hogy esetleg nem teljesen jól. Ezért nem tetszik a "Túl megengedö a szoftveripar szabályozása" megközelítés, mert még kód review-n is ragyogóan el lehet siklani sok ilyen felett.
Statikus analízis azért tud segíteni, de ez meg a másik őrület. Egyrészt sok fals pozitívval kell megküzdeni. Másrészt ha minden kis frinci-franci, alapvertően inline-olódó függvénybe ellenőrzések hadát építed be, az feleslegesen lassítja a kódolást és olvashatatlan eredményre vezet.
Ott van még az a probléma, hogy nem csak a függvény elején bejövő inputok, de a meghívott függvények visszatérési értékét vagy rosszabb esetben megváltoztatott paramétereit és még rosszabb esetben a megváltoztatott globális változókat is validálni kéne. Ez teljesen megölné a kódot. Még ha az adott verzió sokkal megbízhatóbb is volna, következő verzió egy ilyen trutymóból nem készíthető.
Ezekre persze vannak megoldási próbálkozások. Konstruktorokkal lehet az inicializálatlan változók ellen küzdeni, exceptionökkel és pl. null pointerek helyett üres objektumokkal lehet hibákat kezelni. Iterátorral esetleg lehet a rossz for ciklus ellen tenni. Set/get-tel és privát attribútumokkal is el lehet kerülni egyes hibákat (vagy legalább csak egy helyen kell javítani). Ha ezt a (sebtében összedobott, nyilvánvalóan hiányos és valószínűleg hibás) listát megnézed, mind OOP eszközök. Tehát ha mindenképpen szabályozást szeretnénk, akkor tiltsuk be a nem teljesen OOP nyelvek használatát kritikus helyeken (beleértve mindent, ami primitív típusok használatát megengedi)? Mert az OOP progik ugye olyan hibátlanok...