Skip navigation

DSpace JSPUI

DSpace preserves and enables easy and open access to all types of digital content including text, images, moving images, mpegs and data sets

Learn More
DSpace logo
English
中文
  • Browse
    • Communities
      & Collections
    • Publication Year
    • Author
    • Title
    • Subject
    • Advisor
  • Search TDR
  • Rights Q&A
    • My Page
    • Receive email
      updates
    • Edit Profile
  1. NTU Theses and Dissertations Repository
  2. 管理學院
  3. 資訊管理學系
Please use this identifier to cite or link to this item: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/87140
Title: 多執行緒C語言程式的顯式和符號模型驗證方法比較研究
Explicit and Symbolic Model-Checking Approaches for Multithreaded C Programs: A Comparative Study
Authors: 劉韋成
Wei-Cheng Liu
Advisor: 蔡益坤
Yih-Kuen Tsay
Keyword: Büchi 自動機,固定點計算,線性時序邏輯,模型驗證,多執行緒程式,軟體驗證,二元決策圖,
Büchi Automata,Fixpoints,Linear Temporal Logic,Model Checking,Multithreaded programs,Software Verification,Binary Decision Diagram,
Publication Year : 2023
Degree: 碩士
Abstract: 有兩種主要的方法來實現模型檢查過程,即顯式模型驗證和符號模型驗證。顯式模型驗證首先使用某種深度搜索算法為核心,同時結合偏序歸約技術限制探索狀態的數量。符號模型檢查基於布林函數的操作,代表狀態和路徑的集合,而不是顯式狀態路徑圖的遍歷。二元決策圖通常被使用於符號模型驗證器的實現。這兩種方法都有自己的優點和缺點。
本論文的目的是提供顯式模型驗證和符號模型驗證之間的比較並分析其比較結果。對於顯式模型驗證,我們採用在程序分析框架 Ultimate 中,基於巢狀深度優先搜索的一個模型驗證工具。對於符號模型驗證,我們實現了一個固定點模型驗證工具,它也是在 Ultimate 中被實作,並且使用 JavaBDD 套件作為二元決策圖輔助。我們使用可擴展的源代碼分析器 Scantu 來進行比較實驗。它允許通過其用戶界面選擇不同的模型驗證工具,因此我們可以在其中使用兩種方法來驗證各種 C 程式語言並進行比較。我們通過使用正確和錯誤的 C 程序和線性時序邏輯性質來設計不同的實驗,以產生更多樣化的比較結果。從實驗中,我們得出結論:在固定點計算期間,可達狀態和遍歷路徑的數量對於我們的模型驗證工具花費的時間有巨大影響。在這篇論文中,我們呈現比較結果並分析其原因。
There are two primary approaches to implementing the process of model checking, namely explicit-state model checking and symbolic model check ing. Explicit-state model checking uses some depth first search algorithm as the core, while incorporating partial-order reduction techniques to limit the number of states explored. Symbolic model checking is based on the manip ulation of Boolean functions, which represent sets of states and transitions, rather than the traversal of explicit-state transition graphs. Binary decision diagrams are often used to support the implementation of a symbolic model checker. Both approaches have their own strengths and weaknesses.
The aim of this thesis is to provide a comparison between explicit model checking and symbolic model checking and to analyze the results of the com parison. For the explicit approach, we adopt an existing implementation of nested depth first search based on the Ultimate program analysis frame work. For the symbolic approach, we implement a fixpoint model checker, also based on Ultimate and using JavaBDD as our BDD package. We use Scantu, an extensible source code analyzer, to facilitate the comparison. It allows the choice of different model checkers through its user interface, so we can alternate between the two approaches to verify various target C programs and carry out the comparison easily. We design different experimental set tings by using different correctness combinations of temporal properties and C programs to produce more diverse comparison results. From the experi ments, we conclude that the number of reachable states has a huge impact on the time spent, and so does the number of traversed transitions during the fixpoint calculation. We present the comparison results and analyze their causes in this thesis.
URI: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/87140
DOI: 10.6342/NTU202300384
Fulltext Rights: 同意授權(全球公開)
Appears in Collections:資訊管理學系

Files in This Item:
File SizeFormat 
ntu-111-1.pdf577.79 kBAdobe PDFView/Open
Show full item record


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved