A Study of Methods and Tools for Verifying Safety-Critical Software
碩士 === 國立臺灣大學 === 資訊管理學研究所 === 101 === Safety-critical software is software whose failure harm people or even cause deaths, so the correctness of such software is very important. Safety-critical software is typically a real-time and multithreaded program. Multithreading is required because of multi...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | zh-TW |
Published: |
2013
|
Online Access: | http://ndltd.ncl.edu.tw/handle/92795290242215847446 |
id |
ndltd-TW-101NTU05396024 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-TW-101NTU053960242016-03-16T04:15:17Z http://ndltd.ncl.edu.tw/handle/92795290242215847446 A Study of Methods and Tools for Verifying Safety-Critical Software 安全攸關軟體驗證方法與工具之研究 Jing-Jie Lin 林靖婕 碩士 國立臺灣大學 資訊管理學研究所 101 Safety-critical software is software whose failure harm people or even cause deaths, so the correctness of such software is very important. Safety-critical software is typically a real-time and multithreaded program. Multithreading is required because of multiple concurrent activities. Real-time programming is required to guarantee strict timing constraints. Real-time multithreaded programs are prone to mistakes, and some bugs in such programs are subtle and difficult to find using testing or simulation. Thus it is desirable to apply formal verification on such safety-critical programs. Nowadays, there are many methods and tools that support formal verification of the functional and timing correctness of real-time multithreaded programs. Each method or tool provides parts of solutions to the issue involved. Unfortunately, the methods and tools have traditionally been developed separately by different communities, and it is nontrivial to assemble a suitable collection of them. To practically verify a program, one needs to spend much effort and time on getting familiar with the tools located in different domains, and to select an adequate tool collection to complete the verification tasks. In this thesis, we review a selection of methods and tools and show how they may be used to carry out the verification tasks. To provide a more comprehensive illustration, we consider a representative controller program as our target program, which is a temperature controller for chemical reactor protection. We delineate the details for verification of the functional correctness and timing correctness of the program. We also point out whether there exist differences between the model for verification and the real program, and whether there exist tasks that are not supported by current tools. In doing so, we establish a benchmark case and with it obtain a partial yet informative assessment of the readiness of current technology for formal verification of real-time multithreaded programs. 蔡益坤 2013 學位論文 ; thesis 62 zh-TW |
collection |
NDLTD |
language |
zh-TW |
format |
Others
|
sources |
NDLTD |
description |
碩士 === 國立臺灣大學 === 資訊管理學研究所 === 101 === Safety-critical software is software whose failure harm people or even cause deaths, so the correctness of such software is very important. Safety-critical software is typically a real-time and multithreaded program. Multithreading is required because of multiple concurrent activities. Real-time programming is required to guarantee strict timing constraints. Real-time multithreaded programs are prone to mistakes, and some bugs in such programs are subtle and difficult to find using testing or simulation. Thus it is desirable to apply formal verification on such safety-critical programs.
Nowadays, there are many methods and tools that support formal verification of the functional and timing correctness of real-time multithreaded programs. Each method or tool provides parts of solutions to the issue involved. Unfortunately, the methods and tools have traditionally been developed separately by different communities, and it is nontrivial to assemble a suitable collection of them. To practically verify a program, one needs to spend much effort and time on getting familiar with the tools located in different domains, and to select an adequate tool collection to complete the verification tasks. In this thesis, we review a selection of methods and tools and show how they may be used to carry out the verification tasks. To provide a more comprehensive illustration, we consider a representative controller program as our target program, which is a temperature controller for chemical reactor protection. We delineate the details for verification of the functional correctness and timing correctness of the program. We also point out whether there exist differences between the model for verification and the real program, and whether there exist tasks that are not supported by current tools. In doing so, we establish a benchmark case and with it obtain a partial yet informative assessment of the readiness of current technology for formal verification of real-time multithreaded programs.
|
author2 |
蔡益坤 |
author_facet |
蔡益坤 Jing-Jie Lin 林靖婕 |
author |
Jing-Jie Lin 林靖婕 |
spellingShingle |
Jing-Jie Lin 林靖婕 A Study of Methods and Tools for Verifying Safety-Critical Software |
author_sort |
Jing-Jie Lin |
title |
A Study of Methods and Tools for Verifying Safety-Critical Software |
title_short |
A Study of Methods and Tools for Verifying Safety-Critical Software |
title_full |
A Study of Methods and Tools for Verifying Safety-Critical Software |
title_fullStr |
A Study of Methods and Tools for Verifying Safety-Critical Software |
title_full_unstemmed |
A Study of Methods and Tools for Verifying Safety-Critical Software |
title_sort |
study of methods and tools for verifying safety-critical software |
publishDate |
2013 |
url |
http://ndltd.ncl.edu.tw/handle/92795290242215847446 |
work_keys_str_mv |
AT jingjielin astudyofmethodsandtoolsforverifyingsafetycriticalsoftware AT línjìngjié astudyofmethodsandtoolsforverifyingsafetycriticalsoftware AT jingjielin ānquányōuguānruǎntǐyànzhèngfāngfǎyǔgōngjùzhīyánjiū AT línjìngjié ānquányōuguānruǎntǐyànzhèngfāngfǎyǔgōngjùzhīyánjiū AT jingjielin studyofmethodsandtoolsforverifyingsafetycriticalsoftware AT línjìngjié studyofmethodsandtoolsforverifyingsafetycriticalsoftware |
_version_ |
1718206934619783168 |