skip to main content
10.1145/1593105.1593218acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesacm-seConference Proceedingsconference-collections
research-article

Profiler instrumentation using metaprogramming techniques

Published: 28 March 2008 Publication History

Abstract

Software developers are frequently required to address evolving stakeholder concerns, which often result in changes to the source code of an application. Manually performing invasive modifications across a large code base can be tedious, time consuming, and error prone. Metaprogramming techniques assist a developer in specifying the changes needed to an application in a manner that does not require manual adaptation of source files. Various forms of metaprogramming exist, including compile-time metaobjects, load-time structural reflection, and aspect-oriented programming. In this paper, a profiler is implemented as a common case study using three different approaches to demonstrate the various mechanisms and benefits offered by metaprogramming.

References

[1]
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., and Irwin J. Aspect-oriented programming. European Conference on Object-Oriented Programming (ECOOP), LNCS 2072, Jyvaskyla, Finland, June 1997, pp. 220--242.
[2]
Filman, R. E.; Tzilla E., Siobhàn C, and Mehmet A., Aspect-Oriented Software Development, Addison-Wesley, 2004.
[3]
Kiczales, G., Hilsdale E., Hugunin J., Kersten M., Palm J., Griswold W. G., An Overview of AspectJ, European Conference on Object-Oriented Programming (ECOOP), LNCS 2072, Budapest, Hungary, June 2001, pp. 327--355.
[4]
Tatsubori M., Chiba S., Killijian M., and Itano K., OpenJava: A Class-Based Macro System for Java, Reflection and Software Engineering, LNCS 1826, Denver, CO, November 1999, pp. 117--133.
[5]
McManis, C., Take an in-depth look at the Java Reclection API, Java World, September 1997, http://www.javaworld.com/javaworld/jw-09-1997/jw-09-indepth.html
[6]
Wu, Z., Reflective Java and a Reflective-Component-Based Transaction Architecture, OOPSLA'98 Workshop on Reflective Programming in C++ and Java, Vancouver, Canada, October 1998.
[7]
Welch, I. and R. Stroud, From Dalang to Kava: The Evolution of a Reflective Java Extension, Reflection and Software Engineering, LNCS 1826, Denver, CO, November 1999, pp. 155--167.
[8]
Kleinoder, J. and M. Golm, MetaJava: An Efficient RunTime Meta Architecture for Java, International Workshop on Object Orientation in Operating Systems, Seattle, WA, October 1996, pp. 54--61.
[9]
Chiba, S. Load-time Structural Reflection in Java, European Conference on Object-Oriented Programming (ECOOP), LNCS 1850, Cannes, France, June 2000, pp. 313--336.
[10]
Harbulot, B., Gurd, J., Using AspectJ to Separate Concerns in Parallel Scientific Java Code, International Conference on Aspect-Oriented Software Development, Lancaster, UK, March 2004, pp. 122--131.
[11]
JProbe, http://www.quest.com/jprobe/

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ACMSE '08: Proceedings of the 46th annual ACM Southeast Conference
March 2008
548 pages
ISBN:9781605581057
DOI:10.1145/1593105
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 March 2008

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ACM SE08
ACM SE08: ACM Southeast Regional Conference
March 28 - 29, 2008
Alabama, Auburn

Acceptance Rates

Overall Acceptance Rate 502 of 1,023 submissions, 49%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 105
    Total Downloads
  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media