[發明專利]一種用于父子進程間交互信息的路徑剖析方法有效
| 申請號: | 201410419011.3 | 申請日: | 2014-08-22 |
| 公開(公告)號: | CN104199649B | 公開(公告)日: | 2017-04-05 |
| 發明(設計)人: | 李必信;苗意盎;王璐璐;姜雨晴;陳藝 | 申請(專利權)人: | 東南大學 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 南京瑞弘專利商標事務所(普通合伙)32249 | 代理人: | 楊曉玲 |
| 地址: | 211189 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 父子 進程 交互 信息 路徑 剖析 方法 | ||
?
技術領域
本發明屬于程序路徑剖析領域,涉及一種程序路徑剖析的解決方案,特別涉及一種用于解決在父子進程間程序動態的交互路徑剖析問題的方法。
?
背景技術
路徑剖析(Path?Profiling)技術是一種重要的動態分析技術,用于幫助了解在計算機構架,程序編譯、調試和測試中的程序動態行為特征。通常一個程序的性能與該程序運行時所執行的方法路徑直接相關,而路徑剖析技術通過收集程序中路徑執行頻率的方法,提供了一個可以用來指引軟件分析、理解和改進,還可以對特定的路徑進行針對性的分析的切入點。路徑剖析不僅僅是對程序的集合行為的分析,更注重對程序的動態流程圖分析。通過這些路徑,在計算機構架,程序編譯中提供一種提高性能的方法,同時程序員或者編譯器能夠通過優化頻繁執行的路徑而使程序的運行速度更快。
對于大型的復雜系統,例如操作系統、數據庫,通過將大量執行的路徑進行改進,可以將性能提升。對于編譯器,跟蹤調度和基于路徑的編譯,已證明程序的優化可以通過控制程序的動態流程中獲益,在計算機的構架設計中也可以用來提高指令的高速緩存和執行的效率。
路徑剖析度量了程序中執行路徑的頻率和成本,是理解一個程序的控制流程的重要技術。然而,當前的路徑剖析技術主要可以剖析單個程序的路徑,對于帶有子進程的程序中產生交互情況的路徑難以處理,沒有提供一個有效地處理方法。如果不能有效識別程序內的問題路徑位置則難以提高軟件的性能。
對于一個程序的路徑剖析包括以下需求:(1)能夠分析無環狀和過程內路徑的情況;(2)能夠表示程序執行過程的循環;(3)剖析程序的流程,同時在程序執行的流程中保持路徑信息的精確性。通過剖析結果,可以使研究者將注意力放在可以提升程序性能的地方進行改進。
?
發明內容
技術問題:本發明的目的是提供一種用來解決子進程的路徑剖析問題,在考慮對于程序產生子進程情況下對父子進程交互情況進行分析,可以達到對父子進程交互情況進行路徑剖析的用于父子進程間交互信息的路徑剖析方法。?
技術方案:本發明的用于父子進程間交互信息的路徑剖析方法,包括如下步驟:
步驟1)對指定的測試程序進行靜態分析,確定程序中的父進程部分與子進程部分;
步驟?2)對所述測試程序的子進程部分進行切片處理,將子進程部分切出,得到測試程序的父進程部分和子進程部分,并將父進程部分改變為單進程程序,然后獲取父進程的控制流圖和子進程的控制流圖;
步驟?3)對父進程使用Efficient路徑剖析方法進行分析,具體為:選取父進程控制流圖中要剖析的路徑作為關鍵路徑,對所述關鍵路徑進行插樁;
步驟?4)對子進程的控制流圖進行分析,將分析得到的路徑信息以樹形結構傳遞給父進程;
步驟?5)將父進程與子進程的插樁映射到測試程序的相應代碼段中,然后對測試程序中的父進程和子進程路徑信息進行異步處理;
步驟?6)父進程接收到子進程的路徑剖析信息后進行消息整合,具體為:根據所述步驟3)的分析結果,確定當前父進程中的路徑ID,以所述路徑ID作為根節點連接子進程中路徑信息,形成完整路徑信息。
本發明的優選方案中,步驟4)中,對子進程的控制流圖進行分析的具體方法為:選取子進程控制流圖中要剖析的路徑作為關鍵路徑,使用k-BLPP方法行插樁。
本發明的優選方案中,步驟?5)的異步處理中,父子進程的管道為單向管道,以子進程為寫端,父進程為讀端,數據由子進程發送到父進程。
本發明方法強調對父子進程交互中程序路徑的分析,分別通過對父進程與子進程兩個進程間的路徑剖析的整合,通過解析路徑剖析的結果,可以有效的對父子進程間的交互關系進行識別。在程序中分離出父子進程的代碼段,通過對兩種類型進程的關鍵路徑進行剖析,利用進程間的通信機制來完成對父子進程間交互行為的路徑剖析。
有益效果:本發明方法與現有其他路徑剖析方法相比較,具有以下優點:
(1)目前的剖析方法主要關注于單進程的程序如何進行路徑剖析,在剖析過程中沒有考慮在軟件為多進程情況下,只能夠進行一段或單進程程序的路徑剖析。如何對多進程程序的路徑進行剖析,現有方法并不能解決。本發明方法提供了對父子進程的路徑進行先分離后組合的方法,有效的解決對多進程的路徑剖析問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東南大學,未經東南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410419011.3/2.html,轉載請聲明來源鉆瓜專利網。





