Model Checking C Programs by Translating C to Promela

Nowadays, the cost of program errors is increasing from day to day, so software reliability becomes a critical problem to the whole world. C is one of the most popular programming languages, and has been widely used for developing all types of software. Hence, the security of software written in C a...

Full description

Bibliographic Details
Main Author: Jiang, Ke
Format: Others
Language:English
Published: Uppsala universitet, Institutionen för informationsteknologi 2009
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-108397
id ndltd-UPSALLA1-oai-DiVA.org-uu-108397
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-uu-1083972013-01-08T13:48:30ZModel Checking C Programs by Translating C to PromelaengJiang, KeUppsala universitet, Institutionen för informationsteknologi2009Nowadays, the cost of program errors is increasing from day to day, so software reliability becomes a critical problem to the whole world. C is one of the most popular programming languages, and has been widely used for developing all types of software. Hence, the security of software written in C accounts for an important proportion of software reliability. Spin model checker is the world's most popular tool for detecting software defects in concurrent system designs. However, it could not check C programs directly. This thesis will describe a mediate method of model checking C codes to find potential problems in concurrent programs and parallel systems using Spin. We hope it could initiate more study in this new method for model checking C and other languages. The translator we developed for this thesis uses syntax-directed translation techniques for doing the translations, and several tools and languages are involved. OCaml is the language we used for programming. CIL is the carrier and does the C syntax analysis for our translator. Spin model checker is the tool for checking the translations. C is the input language, and Promela is the target output language. Student thesisinfo:eu-repo/semantics/masterThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-108397IT, ; 09 041application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
description Nowadays, the cost of program errors is increasing from day to day, so software reliability becomes a critical problem to the whole world. C is one of the most popular programming languages, and has been widely used for developing all types of software. Hence, the security of software written in C accounts for an important proportion of software reliability. Spin model checker is the world's most popular tool for detecting software defects in concurrent system designs. However, it could not check C programs directly. This thesis will describe a mediate method of model checking C codes to find potential problems in concurrent programs and parallel systems using Spin. We hope it could initiate more study in this new method for model checking C and other languages. The translator we developed for this thesis uses syntax-directed translation techniques for doing the translations, and several tools and languages are involved. OCaml is the language we used for programming. CIL is the carrier and does the C syntax analysis for our translator. Spin model checker is the tool for checking the translations. C is the input language, and Promela is the target output language.
author Jiang, Ke
spellingShingle Jiang, Ke
Model Checking C Programs by Translating C to Promela
author_facet Jiang, Ke
author_sort Jiang, Ke
title Model Checking C Programs by Translating C to Promela
title_short Model Checking C Programs by Translating C to Promela
title_full Model Checking C Programs by Translating C to Promela
title_fullStr Model Checking C Programs by Translating C to Promela
title_full_unstemmed Model Checking C Programs by Translating C to Promela
title_sort model checking c programs by translating c to promela
publisher Uppsala universitet, Institutionen för informationsteknologi
publishDate 2009
url http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-108397
work_keys_str_mv AT jiangke modelcheckingcprogramsbytranslatingctopromela
_version_ 1716529571897016320