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. / Södra Stenbocksgatan 120 252 44 HELSINGBORG 042 14 67 06
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-5057 |
Date | January 2003 |
Creators | Ivinger, Oskar |
Publisher | Blekinge Tekniska Högskola, Institutionen för programvaruteknik och datavetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0025 seconds