Title :
No Java without caffeine: A tool for dynamic analysis of Java programs
Author :
Guéhéneuc, Yann-Gaël ; Douence, Remi ; Jussien, Narendra
Author_Institution :
Ecole des Mines de Nantes, France
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.
Keywords :
Java; program debugging; reverse engineering; software tools; Caffeine; Java platform debug architecture; Java programs; Prolog engine; Singleton design pattern; dynamic analysis; execution history; n-queens problem; program behaviour understanding; real-life examples; static information; usage scenario; Documentation; Electronic mail; Engines; History; Java; Law; Legal factors; Performance analysis; Software algorithms; Software maintenance;
Conference_Titel :
Automated Software Engineering, 2002. Proceedings. ASE 2002. 17th IEEE International Conference on
Print_ISBN :
0-7695-1736-6
DOI :
10.1109/ASE.2002.1115000