面向方面程序指向分析工具的設(shè)計與實現(xiàn).pdf_第1頁
已閱讀1頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、面向方面的編程(AOP)是一種編程范式,它允許對應(yīng)用于某種宿主語言的關(guān)注點的分離,并且提供一種可以描述那些橫切其他組件的關(guān)注點的描述機制。這些橫切關(guān)注點可以是異常處理、同步、性能優(yōu)化以及資源共享,而這些關(guān)注點很難在已有的程序設(shè)計技術(shù)中表達清晰。面向方面的技術(shù)能夠控制代碼糾纏,使關(guān)注點的表示更加清晰,從而使程序更易于開發(fā)、維護和進化。AspecJ 是一種通用的面向方面編程語言,是一種基于Java語言的面向方面的無縫擴展。AspectJ中增

2、加了新的概念,諸如連接點、通知、方面等。AspectJ 程序通常可以分成兩個部分:基代碼以及方面代碼。基代碼包括類、接口以及Java語言的其他一些結(jié)構(gòu)。方面代碼包括一些方面。方面是一個橫切關(guān)注點實現(xiàn)的模塊化的單位。每一個方面封裝能夠橫切其它類或方面的機能。方面依據(jù)一些包含在其中的說明和它所橫切的類結(jié)合到一起。指向分析是一種基本的程序分析技術(shù),其基本思想是計算出程序中的引用變量有可能指向的對象創(chuàng)建點的集合。作為一種基本技術(shù),指針分析在編譯

3、器優(yōu)化以及軟件工程等方面有著廣泛的應(yīng)用。盡管目前有許多指向分析算法用于分析面向過程語言和面向?qū)ο笳Z言,如對C和Java語言的分析,但是迄今為止還沒有針對面向方面語言的指向分析算法。 本文基于Andersen 風(fēng)格的Java語言指向分析技術(shù),提出了一種針對AspectJ語言的流非敏感、上下文非敏、的指向分析方法。其主要是能夠使指向分析的算法跨越類與方面的界限,從而能夠處理面向方面的特性。為了檢驗所提出的指向分析技術(shù)的有效性,實現(xiàn)了

4、一個基于ajc 編譯器的AspectJ 程序指向分析工具,并應(yīng)用九個廣泛使用的AspectJ基準程序?qū)υ摴ぞ哌M行了試驗評估。試驗的結(jié)果顯示,與已有的基于字節(jié)碼的Java語言指向分析技術(shù)相比,我們的方法能夠在比較小的時間和空間代價下能夠顯著地提高分析的精度。本文的貢獻主要有三點:①定義了一個通用的針對AspectJ語言的指向分析語義,該語義擴展了Rountev等人提出的針對Java的Andersen風(fēng)格的指向分析。②基于AspectJ的a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論