Nothing Special   »   [go: up one dir, main page]

skip to main content
article

A generic instrumentation framework for collecting dynamic information

Published: 01 September 2004 Publication History

Abstract

Performing empirical research in software testing involves executing a set of subjects against one or more test suites and measuring some characteristics of these executions. Such measures are often collected using ad-hoc instrumentation, by inserting probes in the code that collect and report dynamic information at run-time. Another possible approach is to collect the needed information by leveraging capabilities of the runtime system. Both these approaches usually result in measurement tools that are not flexible and are, thus, hard to reuse and modify. To address this problem, we present a generic framework for collecting information on the runtime behavior of a Java program. The framework allows for easily collecting different kinds of dynamic information for a set of executions of the program, such as coverage and profiling of various code entities and program traces at different levels. The framework also lets users easily define how to process the collected information. In the paper, we also present a case study that we performed to evaluate the framework, and that shows its effectiveness and efficiency.

References

[1]
Aspectj project. http://eclipse.org/aspectj/.
[2]
Byte-Code Engineering Library (BCEL). http://jakarta.apache.org/bcel/.
[3]
Java Architecture for Bytecode Analysis (JABA). http://www.cc.gatech.edu/aristotle/Tools/jaba.html.
[4]
Java Instrumentation API (JIAPI). http://jiapi.sourceforge.net/.
[5]
Java Instrumentation Engine (JIE). http://www.forum2.org/eran/jie/.
[6]
Java Runtime Analysis Toolkit (JRAT). http://jrat.sourceforge.net/index.html.
[7]
Java Virtual Machine Debugging Interface (JVMDI). http://java.sun.com/j2se/1.3/docs/guide/jpda/jvmdi-spec.html.
[8]
Java Virtual Machine Profiler Interface (JVMPI). http://java.sun.com/j2se/1.4.2/docs/guide/jvmpi/jvmpi.html.

Cited By

View all
  • (2020)Critical thinking in cognitive domain: Exploring assessment of English teaching at pandemic period of covid-19JEES (Journal of English Educators Society)10.21070/jees.v5i2.7525:2(178-184)Online publication date: 7-Oct-2020
  • (2019)A domain analysis of resource and requirements monitoringInformation and Software Technology10.1016/j.infsof.2019.03.013111:C(86-109)Online publication date: 1-Jul-2019
  • (2017)Eeny, Meeny, Miny, Mo...Agile Processes in Software Engineering and Extreme Programming10.1007/978-3-319-57633-6_4(52-67)Online publication date: 14-Apr-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 29, Issue 5
September 2004
321 pages
ISSN:0163-5948
DOI:10.1145/1022494
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 2004
Published in SIGSOFT Volume 29, Issue 5

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Critical thinking in cognitive domain: Exploring assessment of English teaching at pandemic period of covid-19JEES (Journal of English Educators Society)10.21070/jees.v5i2.7525:2(178-184)Online publication date: 7-Oct-2020
  • (2019)A domain analysis of resource and requirements monitoringInformation and Software Technology10.1016/j.infsof.2019.03.013111:C(86-109)Online publication date: 1-Jul-2019
  • (2017)Eeny, Meeny, Miny, Mo...Agile Processes in Software Engineering and Extreme Programming10.1007/978-3-319-57633-6_4(52-67)Online publication date: 14-Apr-2017
  • (2014)Code coverage measurement framework for android devicesActa Cybernetica10.14232/actacyb.21.3.2014.1021:3(439-458)Online publication date: 1-Aug-2014
  • (2014)Flexible resource monitoring of Java programsJournal of Systems and Software10.1016/j.jss.2014.02.02293(163-186)Online publication date: Jul-2014
  • (2012)A Service Configuration and Composition Design Pattern for autonomic computing systems using Service Oriented ArchitectureProceedings of the Second International Conference on Computational Science, Engineering and Information Technology10.1145/2393216.2393284(401-407)Online publication date: 26-Oct-2012
  • (2012)GEMSProceedings of the 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation10.1109/ICST.2012.195(909-914)Online publication date: 17-Apr-2012
  • (2012)Discovering Core Architecture Classes to Assist Initial Program ComprehensionProceedings of the 2012 International Conference on Information Technology and Software Engineering10.1007/978-3-642-34522-7_1(3-10)Online publication date: 6-Nov-2012
  • (2012)A comparison of the influence of different multi-core processors on the runtime overhead for application-level monitoringProceedings of the 2012 international conference on Multicore Software Engineering, Performance, and Tools10.1007/978-3-642-31202-1_5(42-53)Online publication date: 31-May-2012
  • (2012)A service administration design pattern for dynamically configuring communication services in autonomic computing systemsProceedings of the 4th Asian conference on Intelligent Information and Database Systems - Volume Part I10.1007/978-3-642-28487-8_6(53-63)Online publication date: 19-Mar-2012
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media