Publication | Closed Access
No Java without caffeine: A tool for dynamic analysis of Java programs
30
Citations
12
References
2002
Year
Unknown Venue
Software MaintenanceEngineeringSoftware EngineeringSingleton Design PatternSoftware AnalysisFormal VerificationJava ProgramsSystems EngineeringStatic CheckingProfiling ToolRuntime VerificationJava ProgramDynamic AnalysisComputer ScienceDebuggerReal-time JavaStatic Program AnalysisSoftware DesignProgram AnalysisAutomated ReasoningSoftware TestingFormal MethodsProlog EngineSymbolic ExecutionSystem Software
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1