Advertisement

Abstract

The benefits of aspect-oriented programming (AOP) with respect to software design are getting more and more accepted, and measurements have shown that AOP does not necessarily introduce severe performance penalties. A benchmark suite for measuring the performance of AspectJ software is being developed. However, general benchmarks are missing for the emerging field of dynamic AOP, even though major J2EE application server vendors begin to employ dynamic aspects in their systems. Instead, work on dynamic AOP frequently comprises varying measurements. To be eventually able to classify such systems along their performance qualities, it is important to develop a benchmark suite for dynamic AOP. In this paper, we present a first building block for such a benchmark suite in the form of micro-measurements. We also present and discuss results gained by running the measurements in several dynamic AOP systems. A discussion of requirements for dynamic AOP benchmarks finishes the paper.

Keywords

Virtual Machine Dynamic Aspect Benchmark Suite Java Virtual Machine Method Invocation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alpern, B., et al.: The Jalapeño Virtual Machine. IBM System Journal 39(1), 211–238 (2000)CrossRefGoogle Scholar
  2. 2.
  3. 3.
    AspectWerkz Home Page, http://aspectwerkz.codehaus.org/
  4. 4.
    Baker, J., Hsieh, W.C.: Maya: Multiple-Dispatch Syntax Extension in Java. In: Knoop, J., Hendren, L.J. (eds.) Proc. PLDI 2002, pp. 270–281. ACM Press, New York (2002)Google Scholar
  5. 5.
    Baker, J., Hsieh, W.C.: Runtime Aspect Weaving Through Metaprogramming. In: Kiczales, G. (ed.) Proc. AOSD 2002, pp. 86–95. ACM Press, New York (2002)CrossRefGoogle Scholar
  6. 6.
  7. 7.
    Bell, D.: Make Java Fast: Optimize! (1997), http://www.javaworld.com/javaworld/jw-04-1997/jw-04-optimize.html
  8. 8.
    Bockisch, C., Haupt, M., Mezini, M., Ostermann, K.: Virtual Machine Support for Dynamic Join Points. In: Proc. AOSD 2004, ACM Press, New York (2004)Google Scholar
  9. 9.
    Bonér, J.: What Are the Key Issues for Commercial AOP Use: how Does AspectWerkz Address Them? In: Proc. AOSD 2004, pp. 5–6. ACM Press, New York (2004)CrossRefGoogle Scholar
  10. 10.
    Bull, J.M., Smith, L.A., Westhead, M.D., Henty, D.S., Davey, R.A.: A Benchmark Suite for High Performance Java. Concurrency: Practice and Experience 12(6), 375–388 (2000)CrossRefGoogle Scholar
  11. 11.
  12. 12.
    D‘iaz Pace, J.A., Campo, M.R.: Analyzing the Role of Aspects in Software Design. Communications of the ACM 44(10), 66–73 (2001)CrossRefGoogle Scholar
  13. 13.
    Dmitriev, M.: Towards Flexible and Safe Technology for Runtime Evolution of Java Language Applications. In:Proceedings, at OOPSLA 2001 , Workshop on Engineering Complex Object-Oriented Systems for Evolution (2001)Google Scholar
  14. 14.
    Dufour, B., Driesen, K., Hendren, L., Verbrugge, C.: Dynamic Metrics for Java. In: Proc. OOPSLA 2003, pp. 149–168. ACM Press, New York (2003)CrossRefGoogle Scholar
  15. 15.
    Dufour, B., Goard, C., Hendren, L., Verbrugge, C., de Moor, O., Sittampalam, G.: Measuring the Dynamic Behaviour of AspectJ Programs. In: Proc. OOPSLA, 2004 (2004) (to appear)Google Scholar
  16. 16.
    Filman, R.E., Haupt, M., Mehner, K., Mezini, M. (eds.): Proceedings of the 2003 Dynamic Aspects Workshop. Technical Report RIACS Technical Report No. 04.01, RIACS (2004)Google Scholar
  17. 17.
    Filman, R.E., Havelund, K.: Source-Code Instrumentation and Quantification of Events. In: Leavens, G.T., Cytron, R. (eds.) FOAL 2002 Workshop (at AOSD 2002), pp. 45–49 (2002)Google Scholar
  18. 18.
    Haupt, M., Bockisch, C., Mezini, M., Ostermann, K.: Towards Aspect-Aware Execution Models. Technical Report TUD-ST-2003-01, Software Technology Group, Darmstadt University of Technology (2003)Google Scholar
  19. 19.
    Hilsdale, E., Hugunin, J.: Advice Weaving in AspectJ. In: Proc. AOSD 2004, ACM Press, New York (2004)Google Scholar
  20. 20.
    JAC Home Page ,http://jac.aopsys.com/.
  21. 21.
  22. 22.
    JBoss Home Page, http://www.jboss.org/
  23. 23.
  24. 24.
    The Jikes Research Virtual Machine,http://www-124.ibm.com/developerworks/oss/jikesrvm/.
  25. 25.
    Java Platform Debugger Architecture Home Page,http://java.sun.com/j2se/1.4.1/docs/guide/jpda/index.html.
  26. 26.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  27. 27.
    Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, vol. 2. Addison- Wesley, Reading (1999)Google Scholar
  28. 28.
    Masuhara, H., Kiczales, G., Dutchyn, C.: A Compilation and Optimization Model for Aspect-Oriented Programs. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 46–60. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  29. 29.
    ORBacus Home Page, http://www.orbacus.com/
  30. 30.
    Pawlak, R., Seinturier, L., Duchien, L., Florin, G.: JAC: A Flexible Solution for Aspect-Oriented Programming in Java. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 1–24. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  31. 31.
    Popovici, A., Gross, T., Alonso, G.: Dynamic Weaving for Aspect-Oriented Programming. In: Kiczales, G. (ed.) Proc. AOSD 2002, ACM Press, New York (2002)Google Scholar
  32. 32.
    Popovici, A., Gross, T., Alonso, G.: Just-in-Time Aspects. In: Proc. AOSD 2003, ACM Press, New York (2003)Google Scholar
  33. 33.
  34. 34.
    Sabbah, D.: Aspects: from Promise to Reality. In: Proc. AOSD 2004, pp. 1–2. ACM Press, New York (2004)CrossRefGoogle Scholar
  35. 35.
    Sato, Y., Chiba, S., Tatsubori, M.: A Selective, Just-in-Time Aspect Weaver. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 189–208. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  36. 36.
  37. 37.
    SPECjvm98 Home Page, http://www.spec.org/osg/jvm98/
  38. 38.
  39. 39.
  40. 40.
  41. 41.
    Zhang, C., Jacobsen, H.-A.: Quantifying Aspects in Middleware Platforms. In: Proc. AOSD 2003, pp. 130–139. ACM Press, New York (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Michael Haupt
    • 1
  • Mira Mezini
    • 1
  1. 1.Software Technology GroupDarmstadt University of Technology 

Personalised recommendations