跳到主要內容

臺灣博碩士論文加值系統

(216.73.216.66) 您好!臺灣時間:2026/08/17 13:45
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:王立德
研究生(外文):Lih-der Wang
論文名稱:從程式語言到時間自動機的自動化轉譯程式之建立
論文名稱(外文):The Implementation of Automated Translator from Programming Language to Timed Automata
指導教授:王凡
指導教授(外文):Farn Wang
學位類別:碩士
校院名稱:國立臺灣大學
系所名稱:電機工程學研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2004
畢業學年度:92
語文別:中文
論文頁數:78
中文關鍵詞:自動驗證轉譯程式時間自動機
外文關鍵詞:Timed AutomataAutomated VerificationTranslator
相關次數:
  • 被引用被引用:0
  • 點閱點閱:198
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
程式語言擁有非常強大的能力和十分複雜的結構,因此驗證一個透過程式語言所完成的軟體將會非常困難。如果程式設計師遵循一項已經驗證過的協定來寫程式,也有可能在寫程式的過程中發生錯誤,所以對最終的程式進行驗證是很重要的。根據程式的執行流程,程式可以被視為一個具有多個程序的即時系統,而原始程式中每個獨立的片段則代表一個程序。轉譯程式將依照程式語言的文法,把程式轉譯成正規驗證模型,透過對模型的驗證,可以達成驗證程式的目的。可以對個別的程式模型進行驗證,以簡化驗證的困難度。轉譯程式的自動化是為避免在轉譯的過程中發生錯誤的可能,並把產生正規模型的過程予以簡化。我們將C語言程式透過自動轉譯程式,轉譯成時間自動機的模型,而模型本身是用Red的語法來描述。
General purpose programming languages are rich in functionalities and therefore have complicated structures. Hence verifying software programs written in such programming languages can be very difficult. Even if the technical specifications had been verified to be error-free, there may still be errors introduced by the actual implementation. It is important that the verification is performed on the final program. Based on the work flow, a program can be considered as a real-time system with many processes, where each process is represented by a fragment of the original program. According to the grammars of the specific programming language, an automated translator can be used to translate the programs into corresponding formal verification models. The whole program can then be verified by applying the standard verification techniques to each model individually. The automation of translation can simplify the task of creating a formal model and identify potential errors in the implementation. We will present our implementation of a program that translates basic C programs into timed automata described by Red.
Chapter 1 Introduction 1
Chapter 2 Automated Verification 5
2.1 Concurrent Systems 6
2.2 Temporal Logic 8
2.3 BDD 12
2.4 Timed Automata 14
2.5 Red Verification Tool 17
Chapter 3 From Programming Language to Timed Automata 21
3.1 Lexical Analyzer 21
3.2 Parser 23
3.3 Intermediate Structure 27
3.4 Model Generation 28
Chapter 4 Implementation 31
4.1 Tools 31
4.2 Data Structure 35
4.2.1 Node 35
4.2.2 Stack and list 36
4.3 Mode Generation Rules 36
Chapter 5 Experiment 43
5.1 Experiment 43
5.2 Discussions 47
Chapter 6 Related Works 51
6.1 UPPAAL 51
6.2 CBMC 52
6.3 TC 53
6.4 Spin 55
Chapter 7 Conclusions and Future Works 57
Bibliography 59
Appendix 63
A.1 The Grammar of C Programming Language 63
A.2 The Definitions of Terminal Tokens in Flex 72
A.2.1 Constant 72
A.2.2 Identifier 72
A.2.3 Reserved words 72
A.2.4 Operators 72
A.3 The Definitions of Non-terminal Tokens 73
A.4 The Declarations of Data Structures in Translator 73
A.5 The definitions of flags 74
A.5.1 decl_rec.spec flag definition 74
A.5.2 stat_rec.spec flag definition 76
1.R. Alur, C. Courcoubetis, D.L. Dill, Model Checking for Real Time Systems, IEEE LICS, 1990.
2.M. Ancona, G. Dodero, V. Gianuzzi, M. Morgavi, Efficient Construction of LR(k) States and Tables, ACM TOPLAS, VOL. 13, NO. 1, pp.150-178, 1991.
3.L.L. Beck, System Software: An Introduction to Systems Programming, 2ed, Addison-Wesley, 1990.
4.J. Bengtsson, K.G. Larsen, F. Larsson, P. Pettersson, W. Yi, UPPAAL — A Tool Suite for Automatic Verification of Real–Time Systems, in Proceedings of the DIMACS/SYCON workshop on Hybrid systems, pp. 232-243, Springer-Verlag, 1996.
5.H.K. Berg, Formal Methods of Program Verification and Specification, Prentice-Hall, 1982.
6.R.E. Bryant, Graph-based Algorithms for Boolean Function Manipulation, IEEE Transaction on Computing, C-35(8), 1986.
7.R.E. Bryant, Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams, ACM Computing Surveys, VOL. 24, Issue 3, 1992.
8.J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, L.J. Hwang, Symbolic Model Checking: 1020 States and Beyond, IEEE LICS, 1990.
9.E.M. Clarke, E.A. Emerson, Design and Synthesis of Synchronization Skeletons using Branching-Time Temporal Logic, Proceedings of Workshop on Logic of Programs, Lecture Notes in Computer Science 131, Springer-Verlag, 1981.
10.E.M. Clarke, E.A. Emerson, A.P. Sistla, Automatic Verification of Finite-state Concurrent System Using Temporal Logic Specifications: A Practical Approach, in Proceedings of the 10th ACM SIGACT-SIGPLAN, ACM Press, 1983.
11.E.M. Clarke, O. Grumberg, D. Peled, Model Checking, MIT Press, 2000.
12.E.M. Clarke, D. Kronening, F. Lerda, A Tool for Checking ANSI-C Programs, TACAS 2004, LNCS 2988, pp. 168-176, Springer-Verlag, 2004.
13.E.M. Clarke, J.M. Wing, Formal Methods: State of the Art and Future Directions, Special ACM 50th-anniversary issue: strategic directions in computing research, ACM Computing Surveys, VOL. 28, Issue 4, pp. 626-643, ACM Press, 1996.
14.E.A. Emerson, Handbook of Theoretical Computer Science, Chapter 16, VOL. B, Elsevier, 1990.
15.E.A. Emerson, J.Y. Halpern, "Sometimes" and "Not Never" Revisited: on Branching Versus Linear Time Temporal Logic, Source Journal of the ACM, VOL 33, Issue 1, pp. 151-178, ACM Press, 1986.
16.R. Gerth, D. Peled, M. Vardi, P. Wolper, Simple On-The-Fly Automatic Verification of Linear Temporal Logic, in Proceeding PSTV 1995 Conference, Warsaw, Poland, 1995.
17.C. Heitmeyer, D. Mandrioli, Formal Methods for Real-Time Computing, Wiley, 1996.
18.T.A. Henzinger, X. Nicollin, J. Sifakis, S. Yovine, Symbolic Model Checking for Real-Time Systems, IEEE LICS 1992.
19.G.J. Holzmann, On-The-Fly Model Checking, VOL. 28, Issue 4, ACM Computing Surveys, ACM Press, 1996.
20.G.J. Holzmann, The Model Checker SPIN, IEEE Transactions on Software Engineering, VOL. 23, NO. 5, pp. 279-295, 1997.
21.International Organization for Standardization, ISO/IEC 9899:1999: Programming languages - C, International Organization for Standardization, Geneva, Switzerland, 1999.
22.C.B. Jones, A.M. McCauley, Formal Methods - Selected Historical References, Technical Report Series UMCS-92-12-2, Department of Computer Science University of Manchester, 1992.
23.C. Kern, M.R. Greenstreet, Formal Verification in Hardware Design: a Survey, ACM Transactions on Design Automation of Electronic Systems, VOL. 4, Issue 2, pp. 123-193, ACM Press, 1999.
24.B.W. Kernighan, D.M. Ritchie, The C Programming Language, 2ed, Prentice-Hall, 1988.
25.K.G. Larsen, P. Pettersson, W. Yi, Compositional and Symbolic Model-Checking of Real-Time Systems, in Proceedings of the 16th IEEE Real-Time Systems Symposium, pp.76, IEEE Computer Society, Washington, DC, USA, 1995.
26.K.G. Larsen, P. Pettersson, W. Yi, Model-Checking for Real-Time Systems, LNCS 965, pp. 62-88, Springer-Verlag, 1995.
27.Z. Manna, A. Pnueli, Temporal Verifications of Reactive Systems: Safety, Spring-Verlag, 1995.
28.Z. Manna, A. Pnueli, Verification of Concurrent Programs: The Temporal Framework, in the Correctness Problem in Computer Science, pp. 215-273, Academic Press, London, 1981.
29.T. Mason, D. Brown, LEX and YACC, O''Reilly, 1990.
30.G.N. Naumovich, L.A. Clarke, L.J. Osterweil, Verification of Communication Protocols using Data Flow Analysis, in Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering, pp. 93-105, 1996.
31.H.T. Odum, E.C. Odum, Modeling for All Scales: an Introduction to System Simulation, Academic Press, 2000.
32.A.P. Sistla, E.M. Clarke, Complexity of Propositional Linear Temporal Logics, Journal of the ACM, VOL.32, NO. 3, pp. 733-749, 1985.
33.F. Wang, Efficient Verification of Timed Automatas with BDD-like Data-Structures, Journal of STTT (Software Tools for Technology Transfer), special issue for VMCAI''2003, Preliminary version in LNCS 2575, Springer-Verlag, 2003.
34.F. Wang, Model-Checking Distributed Real-Time Systems with States, Events, and Multiple Fairness Assumptions, 10th AMAST, Stirling, UK, July 2004, LNCS, Springer-Verlag, 2004.
35.F. Wang, Symbolic Parametric Analysis of Linear Hybrid Systems with BDD-like Data-Structures, 16th CAV, Boston, USA, July 2004, LNCS, Springer-Verlag, 2004.
36.F. Wang, F. Yu, OVL Assertion-Checking of Embedded Software with Dense-Time Semantics, RTCSA 2003, LNCS 2968, pp. 254-278, Springer-Verlag, 2004.
37.http://www.gnu.org/
38.http://www.uppaal.com/
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
無相關論文
 
1. 30.彭作奎、吳江胡,1986,台灣牛乳生產之技術效率與其影響因素之分析,農業金融論叢,第16期,第29-38頁。
2. 27.傅祖壇、詹滿色、劉錦添,1992,生產邊界估計方法、函數型式與個別農場技術效率—台灣稻作與果樹農場之實證,經濟論文叢刊,第20卷,第2期,第129-153頁。
3. 13.張保隆、黃旭男、沈佩蒂,1997,台灣地區社會福利慈善事業基金會之績效評估,管理與系統,第4卷,第1期,第145-160頁。
4. 24.陳唐平、楊世華、潘德芳,2001,蓮霧農場技術效率之分析,中華農業研究,第50卷,第3期,第88-97頁。
5. 23.陳昭郎、陸允怡,2001,農業合作社場組織與功能之研究,農業金融論叢,第46期,第165-188頁。
6. 21.陳淑恩,1998,農業合作社場與策略性資訊系統,合作發展,第222期,第27-35頁。
7. 47.錢金瑞,1995,合作社的經營績效分析,合作發展,第183期,第29-32頁。
8. 39.廖朝賢,1995,農業合作社場未來發展方向,合作發展,第186期,第7-21頁。
9. 38.楊世華、陳唐平、潘德芳,2000,蓮霧農場技術效率之分析,中華農業研究,第49卷,第1期,第76-85頁。
10. 36.黃華彩、陳昭郎,2001,農業合作社場業務略聯盟之研究,合作經濟,第68 期,第20-36頁。
11. 35.黃炳文、施孟隆、彭克仲,2004,台灣各縣市農業技術效率與生產力變動之研究,農林學報,第186-196頁。
12. 34.彭克仲、施孟隆、黃炳文、鄭媚尹,2004,台灣水果產業生產力評估之研究,農業與資源經濟,第155-180頁。
13. 33.彭克仲、施孟隆、黃炳文、林鎧亮,2004,社間合作動機對農業合作社經營績效影響之研究,中華農學會報,第5卷,第5期,第447-462頁。
14. 19.陳彥雄,1995,談社間合作-農業合社場與消費合作社,合作發展,第182期,第7-16頁。
15. 15.張維安,2000,台灣客家族群的經濟活動,客家文化研究通訊,第3期,第42-49頁。