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/54099
標題: 以程式變換方法協助程式分析器驗證遞迴程式
Verifying Recursive Program via Source-to-Source Program Transformation
作者: Chiao Hsieh
謝橋
指導教授: 王凡(Farn Wang)
關鍵字: 軟體驗證,程序分析,靜態分析,遞迴程式,程式變換方法,
CPArec,Software Verification,Program Analysis,Static Analysis,Recursion,Program Transformation,
出版年 : 2015
學位: 碩士
摘要: 在程序分析(Program Analysis) 領域中,分析遞迴程式(Recursive Program) 是一項難以處理的課題。現有程式分析工具往往因為無法處理程式中的遞迴函式,既而忽略部分程式碼不進行分析,或甚至拒絕檢驗遞迴程式。本篇論文針對遞迴程式的分析提出新的觀點與分析方法;作者認為與其重新設計演算法且實作新的分析器,不如改進現有的程式分析工具。但更改他人實作的軟體工具並非易事,因此本文提出的方法將現有的工具視為黑箱不做任何更動,反而是利用程式變換方法(Program Transformation) 將待分析的遞迴程式轉換成無遞迴的程式,再交給黑箱分析工具進行檢驗;並使用黑箱工具提供被分析程式中的不變量(Invariants),進而證明原遞迴程式的正確性。
本篇作者與實驗室團隊受惠於程式分析工具CPAchecker,實作出此演算法的雛型CPArec,且參與2015年度軟體驗證競賽(Competition on Software Verification);和其它頂尖實驗室所開發工具相較,我們的工具針對遞迴程式進行分析時,亦表現出相當的效率及效能,獲得第三名的佳績。
關鍵字:軟體驗證、程序分析、靜態分析、遞迴程式、程式變換方法
Recursion can complicate program analysis significantly. Some program analyzers simply ignore recursion or even refuse to check recursive programs. In this paper, we propose an algorithm that uses a recursion-free program analyzer as a black box to check recursive programs. With extended program constructs for assumptions, assertions, and non-deterministic values, our algorithm computes function summaries from inductive invariants computed by the underlying program analyzer. Such function summaries enable our algorithm to check recursive programs. We implement a prototype named CPArec using the recursion-free program analyzer CPAchecker. Under the comparison with other program analyzers on the benchmarks in the 2014 and 2015 Competitions on Software Verification, our tool shows competitive efficiency and effectiveness on verifying programs with recursion.
Key words: CPArec, Software Verification, Program Analysis, Static Analysis, Recursion, Program Transformation
URI: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/54099
全文授權: 有償授權
顯示於系所單位:電子工程學研究所

文件中的檔案:
檔案 大小格式 
ntu-104-1.pdf
  未授權公開取用
1.77 MBAdobe 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