Skip to main content

Instrumenting Bytecode for the Production of Usage Data

  • Conference paper
Computer-Aided Design of User Interfaces IV

Abstract

We have taken the process of software instrumentation, normally used in the creation of profiling and debugging tools, and applied it to the production of usage data for user-computer interaction studies. This paper describes the design and evaluation of a prototype tool called iGuess, that enables an investigator to discover which methods are used within a Java application when particular tasks are carried out, and instrument these to produce usage data. A key feature of the system is that an application can be instrumented without any need for access to the source code. In this paper we describe the system’s functionality, briefly explain how it works and present the results of an early informal evaluation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Al-Qaimari, G. and McRostie D., KALDI: A Computer-Aided Usability Engineering Tool for Supporting Testing and Analysis of User Performance, in A. Blanford, J. Vanderdonckt, Ph. Gray (eds.), Proceedings of the 15th Annual Conference of the British HCI Group IHM-HCI’2001 (Lille, 10–14 September 2001), Springer-Verlag, London, pp. 153–169.

    Google Scholar 

  2. Chander, A., Mitchell J.C., and Shin, I., Mobile Code Security by Java Bytecode Instrumentation, in Proceedings of the 2001 DARPA Information Survivability Conference & Exposition DISCEX-II’2002 (Anaheim, 12–14 June 2001), IEEE Computer Society Press, Los Alamitos, 2002, pp. 1027–1040, accessible at http://citeseer.nj.nec.com/chander01mobile.html.

    Google Scholar 

  3. Cohen, G., Chase, J., and Kaminsky, D. Automatic Program Transformation With JOIE, In Proceedings USENIX Annual Technical Conference (New Orleans, 15–19 June 1998) USENIX Association, Berkeley, 1998, pp. 167–178.

    Google Scholar 

  4. Evans, H., Atkinson, M., Brown, M., Cargill, J., Crease, M., Draper, S., Gray, P.D., and Thomas, R.C., The Pervasiveness of Evolution in GRUMPS Software, Software: Practice and Experience, Vol. 33, No. 2, February 2003.

    Google Scholar 

  5. Hilbert, D.M. and Redmiles D.F., Extracting Usability Information from User Interface Events, ACM Computing Surveys, Vol. 32, No. 4, December 2000, pp. 384–421.

    Article  Google Scholar 

  6. Jerding, D.F., Stasko, J.T., and Ball, T., Visualizing Interactions in Program Executions: International Conference on Software Engineering ICSE’97 (17–23 May 1997 Boston), ACM Press, New York, 1997, accessible at http://citeseer.nj.nec.com/jerding97visualizing.html.

    Google Scholar 

  7. Kölling, M., Quig, B., Patterson, A., and Rosenberg, J., The BlueJ System and its Pedagogy, The Journal of Computer Science Education, Special Issue on Learning and Teaching Object Technology, Vol. 13, No 4, pp. 249–268, December 2003.

    Google Scholar 

  8. Lee, H.B. and Zorn, B.G., BIT: A Tool for Instrumenting Java Bytecodes, In Proceedings USENIX Symposium on Internet Technologies and Systems, 1998.

    Google Scholar 

  9. De Pauw, W., Helm, R., Kimelman, D., and Vlissides, J., Visualizing the Behavior of Object-Oriented Systems, in Proceedings of the Conference on Object-oriented Programming Systems, Languages and Applications OOPSLA ’93 (Washington, 26 September–1 October), 1993, accessible at http://citeseer.nj.nec.com/depauw93visualizing.html

    Google Scholar 

  10. Renaud K, Evans H. JavaCloak: Engineering Javaâ„¢ Proxy Objects using Reflection. NET.OBJECTDAYS 2000, Messekongresszentrum Erfurt, Germany, accessible at http://www.netobjectdays.org/pdf/00/papers/jit/evans.pdf.

    Google Scholar 

  11. BCEL: The Java Bytecode Engineering Library, accessible at http://bcel.sourceforge.net

    Google Scholar 

  12. JRat: The Java Runtime Analysis Toolkit, accessible at http://jrat.sourceforge.net

    Google Scholar 

  13. [13] JFluid.: dynamicbytecode instrumentation, accessible at http://research.sun.com/projects/jfluid/

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Kluwer Academic Publishers

About this paper

Cite this paper

McLeod, I., Evans, H., Gray, P., Mancy, R. (2005). Instrumenting Bytecode for the Production of Usage Data. In: Jacob, R.J., Limbourg, Q., Vanderdonckt, J. (eds) Computer-Aided Design of User Interfaces IV. Springer, Dordrecht. https://doi.org/10.1007/1-4020-3304-4_15

Download citation

  • DOI: https://doi.org/10.1007/1-4020-3304-4_15

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-1-4020-3145-8

  • Online ISBN: 978-1-4020-3304-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics