No Java without Caffeine: A Tool for Dynamic Analysis of Java Programs

  • Authors:
  • Yann-Gaël Guéhéneuc;Rémi Douence;Narendra Jussien

  • Affiliations:
  • -;-;-

  • Venue:
  • Proceedings of the 17th IEEE international conference on Automated software engineering
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

To understand the behavior of a program, a maintainer reads some code, asks a question about this code, conjectures an answer, and searches the code and the documentation for confirmation of her conjecture. However, the confirmation of the conjecture can be error-prone and time-consuming because the maintainer has only static information at her disposal. She would benefit from dynamic information. In this paper, we present Caffeine , an assistant that helps the maintainer in checking her conjecture about the behavior of a Java program. Our assistant is a dynamic analysis tool that uses the Java platform debug architecture to generate a trace, i.e., an execution history, and a Prolog engine to perform queries over the trace. We present a usage scenario based on the n-queens problem, and two real-life examples based on the Singleton design pattern and on the composition relationship.