Sök:

Multipla definitioner av procedurer ? feltolerans genom redundans på procedurnivå i ett programspråk


Sammanfattning Fel i programvara (buggar) kostar ofantliga summor varje år. I detta arbete presenteras en metod där programexekveringsmiljön utan vare sig programmerarens eller användarens inblandning utförligt kan rapportera och dölja effekterna av en avsevärd andel buggar. Genom att kompilatorn eller tolken tillåter att en och samma procedur implementeras hur många gånger som helst införs ett helt automatiskt stöd för N-Version Programming (NVP) omedelbart i programspråket. Tekniken gör programvaran feltolerant och blir ett komplement till kostsam och ofta bristfällig testning. En tolk utvecklades för ett programspråk som tillåter multipla definitioner av procedurer. Därmed har det inbyggt stöd för feltolerans genom redundans på procedurnivå. Ett experiment genomfördes där nio programmerare oberoende av varandra implementerade 12 utförligt specificerade procedurer. De olika bidragen klistrades in i ett och samma program. Nio av 12 feltoleranta sammansatta procedurer fungerade perfekt. I många fall även när en majoritet av de ingående bidragen drogs med allvarliga fel. Sammanställningen genomfördes både före och efter programmerarnas egen testning och felrättning. Testningen visade sig vara en faktor med liten inverkan på helheten även om många enskilda uppdaterade bidrag fungerade avsevärt bättre än förut. I något fall lyckades metoden påvisa tvetydigheter i specifikationen när olika versioner producerade olika men formellt korrekta resultat.

Författare

Oskar Ivinger

Lärosäte och institution

Blekinge Tekniska Högskola/Inst. för programvaruteknik och datavetenskap

Nivå:

"Kandidatuppsats". Självständigt arbete (examensarbete ) om minst 15 högskolepoäng utfört för att erhålla kandidatexamen.

Läs mer..