Return to search

A model checker for the LF system

Thesis (MSc)--University of Stellenbosch, 2007. / ENGLISH ABSTRACT: Computer aided veri cation techniques, such as model checking, can be used to improve the
reliability of software. Model checking is an algorithmic approach to illustrate the correctness
of temporal logic speci cations in the formal description of hardware and software systems.
In contrast to traditional testing tools, model checking relies on an exhaustive search of all
the possible con gurations that these systems may exhibit. Traditionally model checking is
applied to abstract or high level designs of software. However, often interpreting or translating
these abstract designs to implementations introduce subtle errors. In recent years one
trend in model checking has been to apply the model checking algorithm directly to the
implementations instead.
This thesis is concerned with building an e cient model checker for a small concurrent langauge
developed at the University of Stellenbosch. This special purpose langauge, LF, is
aimed at developement of small embedded systems. The design of the language was carefully
considered to promote safe programming practices. Furthermore, the language and its runtime
support system was designed to allow directly model checking LF programs. To achieve
this, the model checker extends the existing runtime support infrastructure to generate the
state space of an executing LF program. / AFRIKAANSE OPSOMMING: Rekenaar gebaseerde program toetsing, soos modeltoetsing, kan gebruik word om die betroubaarheid
van sagteware te verbeter. Model toetsing is 'n algoritmiese benadering om
die korrektheid van temporale logika spesi kasies in die beskrywing van harde- of sagteware
te bewys. Anders as met tradisionlee program toetsing, benodig modeltoetsing 'n volledige
ondersoek van al die moontlike toestande waarin so 'n beskrywing homself kan bevind. Model
toetsing word meestal op abstrakte modelle van sagteware of die ontwerp toegepas. Indien
die ontwerp of model aan al die spesi kasies voldoen word die abstrakte model gewoontlik
vertaal na 'n implementasie. Die vertalings proses word gewoontlik met die hand gedoen
en laat ruimte om nuwe foute, en selfs foute wat uitgeskakel in die model of ontwerp is te
veroorsaak. Deesdae, is 'n gewilde benadering tot modeltoetsing om di e tegnieke direk op die
implementasie toe te pas, en sodoende die ekstra moeite van model konstruksie en vertaling
uit te skakel.
Hierdie tesis handel oor die ontwerp, implementasie en toetsing van 'n e ektiewe modeltoetser
vir 'n klein gelyklopende taal, LF, wat by die Universiteit van Stellenbosch ontwikkel is. Die
enkeldoelige taal, LF, is gemik op die veilige ontwikkeling van ingebedde sagteware. Die
taal is ontwerp om veilige programmerings praktyke aan te moedig. Verder is die taal en
die onderliggende bedryfstelsel so ontwerp om 'n model toetser te akkomodeer. Om die LF
programme direk te kan toets, is die model toetser 'n integrale deel van die bedryfstelsel sodat
dit die program kan aandryf om alle moontlike toestande te besoek.

Identiferoai:union.ndltd.org:netd.ac.za/oai:union.ndltd.org:sun/oai:scholar.sun.ac.za:10019.1/19597
Date03 1900
CreatorsGerber, Erick D. B.
ContributorsGeldenhuys, J., Stellenbosch University. Faculty of Science. Dept. of Mathematical Sciences. Institute for Applied Computer Science.
PublisherStellenbosch : Stellenbosch University
Source SetsSouth African National ETD Portal
Languageen_ZA
Detected LanguageUnknown
TypeThesis
Formatxi, 92 leaves : ill.
RightsStellenbosch University

Page generated in 0.0018 seconds