• Article
  • | |
  • Metrics
  • |
  • Reference [14]
  • |
  • Related [20]
  • |
  • Cited by [2]
  • | |
  • Comments
    Abstract:

    This paper firstly presents an aspect-oriented call graph (ACG for short), then introduces an AspectJ dynamic advices weaving optimizing method based on the ACG (aspect-oriented call graph) of AspectJ programs. Our method firstly solves a call stack through the ACG and deduces the types of the nodes in the stack, then match the call stack with pointcuts, and finally decides how to weave dynamic advices based on the result of matching. A case study shows that this method has great precision and can identify most of weaving points statically.

    Reference
    [1] Kiczales G, Lamping J, Mendhekar A, Maeda C, Lopes C, Loingtier J, Irwin J. Aspect-Oriented programming. In: Aksit M, Matsuoka S, eds. Proc. of the ECOOP’97. LNCS 1241, Jyvaskyla: Springer-Verlag, 1997. 220-242.
    [2] Laddad R. AspectJ in Action: Practical Aspect-Oriented Programming. Greenwich: Manning Publications, 2003.
    [3] Kiczales G, Hilsdale E, Hugunin J, Kersten M, Palm J, Griswold WG. An overview of AspectJ. In: Knudsen JL, ed. Proc. of the ECOOP 2001. LNCS 2072, Heidelberg: Springer-Verlag, 2001. 327-353.
    [4] Masuhara H, Kiczales G, Dutchyn C. Compilation semantics of aspect-oriented programs. Technical Report, TR #02-06, Iowa State University, 2002.
    [5] Wand M, Kiczales G, Dutchyn C. A semantics for advice and dynamic join points in aspect-oriented programming. ACM Trans. on Programming Languages and Systems, 2004,26(5):890-910.
    [6] Sereni D, de Moor O. Static analysis of aspects. In: Aksit M, ed. Proc. of the Aspect-Oriented Software Development (AOSD 2003). New York: ACM Press, 2003. 30-39.
    [7] Avgustinov P, Christensen AS, Hendren L, Kuzins S, Lhotak J, Lhotak O, de Moor O, Sereni D, Sittampalam G, Tibble J. Optimising AspectJ. In: Sarkar V, Hall M, eds. Proc. of the Conf. on Programming Language Design and Implementation (PLDI 2005). New York: ACM Press, 2005. 117-128.
    [8] Hilsdale E, Hugunin J. Advice weaving in AspectJ. In: Lieberherr K, ed. Proc. of the Aspect-Oriented Software Development (AOSD 2004). New York: ACM Press, 2004. 26-35.
    [9] Bacon DF, Sweeney PF. Fast static analysis of C++ virtual function calls. In: Berman AM, ed. Proc. of the Conf. on Object Oriented Programming Systems Languages and Applications (OOPSLA’96). New York: ACM Press, 1996. 324-341.
    [10] Hirzel M, Dincklage DV, Diwan A, Hind M. Fast online pointer analysis. ACM Trans. on Programming Languages and Systems, 2007,29(2).
    [11] Tarjan RE. Fast algorithms for solving path problems. Journal of the ACM, 1981,28(3):594-614.
    [12] Hopcroft JE, Motwani R, Ullman JD. Introduction to Automata Theory, Languages, and Computation. 2nd ed., Addison-Wesley, 2001.
    [13] Zhou XY, Xu BW, Shi L, Chen L. Express calculation decomposition with extended aspect-oriented programming language. Journal of Electronics & Computer Science, 2005,7(1):89-99.
    [14] Qian J, Xu BW, Ming HB. Interstatement must aliases for data dependence analysis of heap locations. In: Proc. of the Workshop on Program Analysis for Software Tools and Engineering (PASTE 2007). New York: ACM Press, 2007. 17-24.
    Comments
    Comments
    分享到微博
    Submit
Get Citation

曹 璟,徐宝文,周晓宇,钱 巨,杨 彬.基于面向方面调用图的AspectJ动态通知编织优化.软件学报,2008,19(9):2218-2227

Copy
Share
Article Metrics
  • Abstract:4187
  • PDF: 5395
  • HTML: 0
  • Cited by: 0
History
  • Received:October 08,2006
  • Revised:July 17,2007
You are the first2038627Visitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-4
Address:4# South Fourth Street, Zhong Guan Cun, Beijing 100190,Postal Code:100190
Phone:010-62562563 Fax:010-62562533 Email:jos@iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063