Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 管理學院
  3. 資訊管理學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/87140
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor蔡益坤zh_TW
dc.contributor.advisorYih-Kuen Tsayen
dc.contributor.author劉韋成zh_TW
dc.contributor.authorWei-Cheng Liuen
dc.date.accessioned2023-05-10T16:11:45Z-
dc.date.available2023-11-09-
dc.date.copyright2023-05-10-
dc.date.issued2023-
dc.date.submitted2023-02-14-
dc.identifier.citation[1] David Baelde. Least and greatest fixed points in linear logic. ACM Transactions on Computational Logic (TOCL), 13(1):1–44, 2012.
[2] Armin Biere, Alessandro Cimatti, Edmund Clarke, and Yunshan Zhu. Symbolic model checking without BDDs. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 193–207. Springer, 1999.
[3] J. Richard Büchi. On a decision method in restricted second order arithmetic. In The Collected Works of J. Richard Büchi, pages 425–435. Springer, 1990.
[4] Jerry R. Burch, Edmund M. Clarke, Kenneth L. McMillan, David L. Dill, and Lain-Jinn Hwang. Symbolic model checking: 1020 states and beyond Information and Computation, 98(2):142–170, 1992.
[5] Jo-Chuan Chou. A comparative study of depth-first search algorithms for automata-based model checking. Master’s thesis, National Taiwan University, Jan 2021.
[6] Yaacov Choueka. Theories of automata on ω-tapes: A simplified approach. Journal of Computer and System Sciences, 8(2):117–141, 1974.
[7] Edmund Clarke, Armin Biere, Richard Raimi, and Yunshan Zhu. Bounded model checking using satisfiability solving. Formal Methods in System Design, 19(1):7–34, 2001.
[8] Edmund M. Clarke and E. Allen Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Workshop on Logic of Programs, pages 52–71. Springer, 1981.
[9] Federico Echenique. A short and constructive proof of Tarski’s fixed-point theorem. International Journal of Game Theory, 33(2):215–218, 2005.
[10] Cindy Eisner and Doron Peled. Comparing symbolic and explicit model checking of a software system. In International SPIN Workshop on Model Checking of Software, pages 230–239. Springer, 2002.
[11] Saul Kripke. Semantical considerations of the modal logic. Studia Philosophica, 1, 2007.
[12] Saul A. Kripke. Semantical analysis of modal logic I normal modal propositional calculi. Mathematical Logic Quarterly, 9(5-6):67–96, 1963.
[13] Hong-Yang Lin. Tool support for automata-based model checking of multithreaded programs. Master’s thesis, National Taiwan University, Jan 2021.
[14] Carroll Morgan, Annabelle McIver, and Karen Seidel. Probabilistic predicate transformers. ACM Transactions on Programming Languages and Systems (TOPLAS), 18(3):325–353, 1996.
[15] Amir Pnueli. The temporal logic of programs. In 18th Annual Symposium on Foundations of Computer Science (FOCS 1977), pages 46–57. IEEE, 1977.
[16] Amir Pnueli. The temporal semantics of concurrent programs. Theoretical Computer Science, 13:45–60, 1981.
[17] Roberto Sebastiani, Stefano Tonetta, and Moshe Y. Vardi. Symbolic systems, explicit properties: on hybrid approaches for LTL symbolic model checking. In International Conference on Computer Aided Verification, pages 350–363. Springer, 2005.
[18] Thomas Wahl. Fairness and liveness.
-
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/87140-
dc.description.abstract有兩種主要的方法來實現模型檢查過程,即顯式模型驗證和符號模型驗證。顯式模型驗證首先使用某種深度搜索算法為核心,同時結合偏序歸約技術限制探索狀態的數量。符號模型檢查基於布林函數的操作,代表狀態和路徑的集合,而不是顯式狀態路徑圖的遍歷。二元決策圖通常被使用於符號模型驗證器的實現。這兩種方法都有自己的優點和缺點。
本論文的目的是提供顯式模型驗證和符號模型驗證之間的比較並分析其比較結果。對於顯式模型驗證,我們採用在程序分析框架 Ultimate 中,基於巢狀深度優先搜索的一個模型驗證工具。對於符號模型驗證,我們實現了一個固定點模型驗證工具,它也是在 Ultimate 中被實作,並且使用 JavaBDD 套件作為二元決策圖輔助。我們使用可擴展的源代碼分析器 Scantu 來進行比較實驗。它允許通過其用戶界面選擇不同的模型驗證工具,因此我們可以在其中使用兩種方法來驗證各種 C 程式語言並進行比較。我們通過使用正確和錯誤的 C 程序和線性時序邏輯性質來設計不同的實驗,以產生更多樣化的比較結果。從實驗中,我們得出結論:在固定點計算期間,可達狀態和遍歷路徑的數量對於我們的模型驗證工具花費的時間有巨大影響。在這篇論文中,我們呈現比較結果並分析其原因。
zh_TW
dc.description.abstractThere 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.
en
dc.description.provenanceSubmitted by admin ntu (admin@lib.ntu.edu.tw) on 2023-05-10T16:11:45Z
No. of bitstreams: 0
en
dc.description.provenanceMade available in DSpace on 2023-05-10T16:11:45Z (GMT). No. of bitstreams: 0en
dc.description.tableofcontents摘要 i
THESIS ABSTRACT ii
1 Introduction 1
1.1 Background ........................... 1
1.2 Motivation and Objectives ................... 2
1.3 Thesis Outline ......................... 2
2 Related Works 4
2.1 Existing Model Checkers .................... 4
2.1.1 NuSMV ......................... 4
2.1.2 Spin ........................... 5
2.1.3 Frama-C ........................ 5
2.1.4 Ultimate ....................... 5
2.2 Comparative Tests ....................... 5
3 Preliminaries 7
3.1 Automataon Infinite Words .................. 7
3.2 Kripke Structure and Temporal Logic ................... 9
3.2.1 Kripke Structure .................... 9
3.2.2 Temporal Logic ..................... 9
3.3 Symbolic Model Checking ................... 11
3.3.1 Fixpoint Calculus.................... 11
3.3.2 Theorem of the Model Checker Using Fixpoints ..... 13
3.3.3 Bounded Model Checking ............... 15
4 Design and Implementation 17
4.1 Software Architecture ..................... 17
4.1.1 Recursive Control Flow Graph (RCFG) ............. 17
4.1.2 Different Kinds of Transitions in RCFG ............. 19
4.1.3 Java Binary Decision Diagram (JavaBDD) ............. 22
4.2 Design and Implementation .................. 24
4.3 Fairness Issues ......................... 33
5 Experiments and Results 36
5.1 Comparison between Different Algorithms ............ 37
5.2 Comparison between Different Number of Threads ............ 42
6 Conclusion 45
6.1 Contributions .......................... 45
6.2 Future Work .......................... 46
References 47
-
dc.language.isoen-
dc.subjectBüchi 自動機zh_TW
dc.subject固定點計算zh_TW
dc.subject軟體驗證zh_TW
dc.subject二元決策圖zh_TW
dc.subject線性時序邏輯zh_TW
dc.subject模型驗證zh_TW
dc.subject多執行緒程式zh_TW
dc.subjectBinary Decision Diagramen
dc.subjectBüchi Automataen
dc.subjectFixpointsen
dc.subjectLinear Temporal Logicen
dc.subjectModel Checkingen
dc.subjectMultithreaded programsen
dc.subjectSoftware Verificationen
dc.title多執行緒C語言程式的顯式和符號模型驗證方法比較研究zh_TW
dc.titleExplicit and Symbolic Model-Checking Approaches for Multithreaded C Programs: A Comparative Studyen
dc.typeThesis-
dc.date.schoolyear111-1-
dc.description.degree碩士-
dc.contributor.oralexamcommittee郁方;陳郁方;蔡明憲zh_TW
dc.contributor.oralexamcommitteeFang Yu;Yu-Fang Chen;Ming-Hsien Tsaien
dc.subject.keywordBüchi 自動機,固定點計算,線性時序邏輯,模型驗證,多執行緒程式,軟體驗證,二元決策圖,zh_TW
dc.subject.keywordBüchi Automata,Fixpoints,Linear Temporal Logic,Model Checking,Multithreaded programs,Software Verification,Binary Decision Diagram,en
dc.relation.page48-
dc.identifier.doi10.6342/NTU202300384-
dc.rights.note同意授權(全球公開)-
dc.date.accepted2023-02-15-
dc.contributor.author-college管理學院-
dc.contributor.author-dept資訊管理學系-
顯示於系所單位:資訊管理學系

文件中的檔案:
檔案 大小格式 
ntu-111-1.pdf577.79 kBAdobe PDF檢視/開啟
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
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