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...
Main Author: | |
---|---|
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 |