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/49023
Title: 於虛擬平台用迴圈函式的追蹤工具進行程式分析
Program Analysis with a Loop-Function-based Tracing Tool on
Virtual Platforms
Authors: Tsung-Han Chiang
江宗翰
Advisor: 洪士灝
Keyword: 迴圈和函式偵測,動態分析,迴圈函式情境樹,虛擬平台,ARM 架構,
Loop and function detection,Dynamic Analysis,Loop-Call Context Tree,Virtual Platform,ARM Architecture,
Publication Year : 2016
Degree: 碩士
Abstract: ARM 是近來最廣泛使用的指令集(ISA)。基於ARM 的設備已經攻入了可攜式裝置和伺服器市場。自2014 年起生產超過500 億的ARM處理器,分析ARM ISA 的程式成為軟體工程中的重要任務之一。然而由於ARM ISA 的設計和編譯器優化,在傳統的分析工具上追蹤ARM架構執行的程式函式呼叫和返還有一定困難度。此外,大部分的分析工具不會將分析結果收集在函式和迴圈層級。除此之外,端看你想頗析的程式行為,如模擬快取記憶體,整個過程需要花費大量時間。完整的剖析會帶來探針效應(Probe Effect),改變程式的行為,並影響到剖析的結果。
在我們的研究中,我們提出了stack-pointer-based 和later loop entry的檢測方式,針對ARM 架構上執行的程式,克服偵測迴圈和函式的困難,我們產生迴圈函式情境樹(Loop-Call Context Tree)。並且能讓程式頗析的層級更為細緻,幫助分析資料依賴、資料存取模式、快取記憶體模擬。此種情境樹使許多更進階的程式分析成為可能,如:迴圈依賴(Loop Dependency)、平行化偵測(Parallelism Detection)。最後,我們結合數值方法及模擬方法,將快取記憶體的剖析進行加速。並藉由於虛擬平台上進行程式頗析,基本上不會造成任何程式行為的改變。
ARM is the most widely used instruction set architecture (ISA) in terms of quantity produced. Recently, ARM-based systems have taken up markets of portable devices and servers. With over 50 billion ARM processors produced as of 2014, performance profiling for systems based on ARM ISA has become one of the very important tasks in today’s system engineering. However, conventional profiling tools are insufficient for tracking functions and loops of the programs performed by the ARM processors due to the design of ARM ISA and compiler optimization. In particular, most of the profiling tools are unable to collect and analyze events related to hardware and software interactions at the function and loop-level granularities.
In our study, we propose a stack-pointer-based method with a later loop entry detection scheme to overcome the difficulties of detecting functions and loops for programs performed on the ARM architecture. The generated loopcall context tree is used to build relationship among functions and loops and to store profiling data. This tree enables analysis, such as memory dependency, memory access pattern, cache simulation at finer-grained granularities. Moreover, the stored profiling data enable further analysis on parallelism detection and loop dependency. Finally, the advantages of the analytic methods and simulation methods are combined to accelerate cache simulation.
URI: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/49023
DOI: 10.6342/NTU201603008
Fulltext Rights: 有償授權
Appears in Collections:資訊工程學系

Files in This Item:
File SizeFormat 
ntu-105-1.pdf
  Restricted Access
2.83 MBAdobe PDF
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