Inlämning av Examensarbete / Submission of Thesis

Oskar Ivinger , pp. 38. Inst. för programvaruteknik och datavetenskap/Dept. of Software Engineering and Computer Science, 2003.

The work

Författare / Author: Oskar Ivinger
pangloss@fukt.bth.se
Titel / Title: Multipla definitioner av procedurer – feltolerans genom redundans på procedurnivå i ett programspråk
Abstrakt Abstract:

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.

Ämnesord / Subject: Datavetenskap - Computer Science\General
Datavetenskap - Computer Science\Software Engineering
Nyckelord / Keywords: KOMPILATOR, MÅNGFALD, PROGRAMSPRÅK, N-VERSION PROGRAMMING, FELTOLERANS, REDUNDANS, MULTIPLA PROCEDURDEFINITIONER, TESTNING, FEL

Publication info

Dokument id / Document id:
Program:/ Programme Programvaruteknik/Software Engineering
Registreringsdatum / Date of registration: 09/16/2004
Uppsatstyp / Type of thesis: C-Uppsats

Context

Handledare / Supervisor: Kamilla Klonowska
kkl@bth.se
Examinator / Examiner: Guohua Bai
Organisation / Organisation: Blekinge Institute of Technology
Institution / School: Inst. för programvaruteknik och datavetenskap/Dept. of Software Engineering and Computer Science
Inst. för Programvaruteknik och Datavetenskap S-372 25 Ronneby
+46 455 38 50 00
http://www.ipd.bth.se/
Anmärkningar / Comments:

Södra Stenbocksgatan 120
252 44 HELSINGBORG
042 14 67 06

Files & Access

Bifogad uppsats fil(er) / Files attached: kandidatarbete oskar ivinger.pdf (919 kB, öppnas i nytt fönster)