梧桐是努力的程序分析和Java實現變換定制和適應Java程序提供的集合。梧桐意在作為一把傘:
*靜態分析,如指向的分析,逃跑分析,和依賴分析,
*變換如程序切片,並通過局部評估計劃專業化,
*它提供的分析/轉換到一個特定的應用程序,如班德拉或平台如Eclipse任何軟件模塊。
目前,有3個模塊是梧桐的一部分。多個模塊,預計在一段時間的過程中加入。我們提供的每個可在本模塊的意圖的概述。
梧桐是,裡面涉及算法和共同的分析和轉換,這是一部分或計劃成為印度的一部分數據結構實現一個模塊。該模塊包含接口定義共通的大多數分析和轉換,以提供在其中分析的各種實施/變換可以被組合以形成容易的系統的框架。因此,當分析/轉換的一個新的排序被實現為在梧桐一個模塊該模塊被更新。然而,新的實現的分析/變換將不會影響該模塊,因為它會實現現有的接口。
StaticAnalyses模塊旨在是靜態的收集分析,如對象的流分析,逃逸分析和依賴性分析。此模塊中的分析使用來自印度通用接口和實現,並可以定義/提供具體的新分析新接口/實現。現有的分析如下所述。
*對象流分析(OFA)是指向的分析為Java。每個分配的網站上的分析系統中被當作一個抽象對象並其流動通過該系統進行跟踪來推斷可能的類型的接收器在一個呼叫內,以使一個精確調用圖的結構。分析的精度可以在流敏感性的方法的局部變量和對象的敏感,以實例字段方面進行改變。
*逃逸分析是擴展實現修剪干擾,並準備依賴邊緣的目的,提出魯夫逃逸分析。所述擴展是在無縫添加值等價於分析的形式來提高相互矛盾的場的檢測讀/寫在不同的線程存在不僅僅是使用接入表達式的初選的類型相等。該分析還使用對象流信息正交進一步提高精度。
*依賴性分析是相關性的集合分析:條目為基礎的控制,出口為基礎的控制,基於標識符的數據,基於參考的數據,干擾,準備,同步和發散,通過分析/變換需要此類程序切片和部分的評價。干擾和準備的依賴分析依賴於以前的逃逸分析,同時基於參考的數據和同步依賴分析依賴於對象的信息流和計算調用圖信息。一些分析有不同的精度等級可以通過明確定義的接口來改變。
*副作用分析方法,提供級別的副作用的信息。用戶可以查詢,如果任何參數/參數來呼叫站點/方法的將受到影響或直接(立即成員)或間接地(遞歸可達成員)。同樣,用戶可以提供一個植根於參數/參數到一個呼叫站點/方法和查詢數據存取路徑,如果該數據訪問路徑的終點是受呼叫/方法。
*監視器分析甲是一個簡單的分析,提供監視/鎖圖形信息對於給定的系統。
*安全鎖分析是一種分析認為,保守地發現,如果一個鎖(監視器)將不會無限期地舉行。該信息可用於在具有時間依賴性steming為的Object.wait()和Object.notify()/ Object.notifyAll(),因為它是在準備依賴性進行結合。
*原子分析提供了有關原子的給定系統中的信息。目前的實現依賴於逸出分析,如果一個語句可以以原子被執行預測。這個信息被用來檢測碼原子區域。這個信息是在諸如模型檢查以減小狀態空間的大小是有用的,因此,提高性能。
一些分析可以足夠大,以構成模塊自身和這樣的分析將設在梧桐作為不同的模塊,而不是被消耗這個模塊。
Java程序切片機模塊中包含的Java程序切片機的核心實現隨適配器提供的切片機在其他應用程序如班德拉和Eclipse。實施的架構為庫,而不是作為應用程序,以促進它的子部件的再利用。芯是獨立於應用;該片段的每個應用程序的要求,可以通過編碼了的後處理接口的實現和鉤住在這些實現中,以形成定制的限幅器來滿足。
該模塊在很大程度上依賴於由依賴所提供的信息進行分析,並通過良好定義的接口,使外部實現用於切片提供OFA的調用圖。
此實現切片機交付到Eclipse通過插件卡佛裡一個直觀的用戶界面。
產品特點:○
向後和向前的切片生成。完整的片(的向後和向前工會
從相同的切片標準開始)切片可以產生。
*支持residualize(適當的)片成可執行的類文件。
*支持通過上下文豐富的片標準規範的上下文敏感的切片。
*支持與切片限制到系統的通過範圍的規格的特定部分。
*支持序列化切片標準,限幅器的配置,和切片。
在Jimple,爪哇的中間表示梧桐項目工作的所有模塊,由塞布爾組麥吉爾大學提供的煤煙工具包。項目中的每個模塊將被公開為一個或多個Eclipse插件如果所提供的信息是通過圖形用戶界面對用戶有用的並且易於為用戶消費。
軟件工程理念
在這個項目中每個模塊將通過可實施組裝定制的系統,其滿足特定需求的擴展適合定義良好的接口只提供所需的功能。作為接口清楚地從實現分離,任何外部實現,它提供所需的界面,可以無縫地使用從該項目的模塊。
背景
大多數分析的實現是通過驅動的Java程序切片機由班德拉所需的要求。然而,由於該方案限幅器可以Bandera的外部使用和分析可以用來使其他的變換,例如通過局部評價程序專業化,我們提出的分析和轉換成一個稱為梧桐新的項目。
按類別搜索
熱門軟件
GnackTrack 12 May 15
PSPP 3 Jun 15
LaTeX::BibTeX 14 Apr 15
Syslinux 17 Feb 15
LibreOffice 20 Jan 18
Zorin OS Lite 16 Aug 18
GChemPaint 2 Jun 15
評論沒有發現