• DocumentCode
    624137
  • Title

    Aspect-aware bytecode combinators for a dynamic AOP system with invokedynamic

  • Author

    Nopnipa, Santi ; Kaewkasi, Chanwit

  • Author_Institution
    Sch. of Comput. Eng., Suranaree Univ. of Technol., Nakhon Ratchasima, Thailand
  • fYear
    2013
  • fDate
    29-31 May 2013
  • Firstpage
    246
  • Lastpage
    251
  • Abstract
    This paper presents a weaving implementation named Aspect-Aware Bytecode Combinators (AABC) to help optimization of the dynamic AOP using invokedynamic, which has been included in the JVM since Java 7. The main contribution of this paper is to demonstrate how a dynamic AOP system could be developed with invokedynamic. This paper discusses 4 common kinds of advice, which are supported by AABC. They are before, after, around and after-return advice. This paper argues that filterArguments and filterReturnValue natively supported by the JVM are not suitable to use as the weaving mechanism as they have incorrect semantic to implement AOP advice. It is also found that they have some performance overheads to serve as the weaving mechanism. Thus, this paper presents a new set of bytecode combinators, named AABC, which are carefully designed to match the semantic of the pointcut-advice model of AspectJ. The experimental results showed that performance of AABC in the before advice experiment is faster than the standard bytecode combinators. In addition, the paper demonstrated that the around advice can be successfully implemented using MethodHandle supported in Java 7.
  • Keywords
    Java; aspect-oriented programming; business data processing; program compilers; AABC; AspectJ; JVM; Java 7; MethodHandle; after advice; after-return advice; aspect-aware bytecode combinators; before advice; dynamic AOP system; filterArguments; filterReturnValue; invokedynamic; pointcut-advice model; weaving mechanism; Educational institutions; Java; Matched filters; Random access memory; Runtime; Weaving; dynamic AOP; invokedynamic; runtime; weaving mechanism;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Science and Software Engineering (JCSSE), 2013 10th International Joint Conference on
  • Conference_Location
    Maha Sarakham
  • Print_ISBN
    978-1-4799-0805-9
  • Type

    conf

  • DOI
    10.1109/JCSSE.2013.6567353
  • Filename
    6567353