No Java Without Caffeine – A Tool for Dynamic Analysis of Java Programs. Guéhéneuc, Y., Douence, R., & Jussien, N. In Emmerich, W. & Wile, D., editors, Proceedings of the 17<sup>th</sup> Conference on Automated Software Engineering (ASE), pages 117–126, September, 2002. IEEE CS Press. 10 pages.Paper abstract bibtex 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, ıe an execution history, and a ¶rolog 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.
@INPROCEEDINGS{Gueheneuc02-ASE-Caffeine,
author = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc and R{\'e}mi Douence and Narendra Jussien},
title = {No {J}ava Without {C}affeine~-- {A} Tool for Dynamic Analysis of {J}ava Programs},
booktitle = {Proceedings of the 17<sup>{th}</sup> Conference on Automated Software Engineering ({ASE})},
year = {2002},
month = {September},
editor = {Wolfgang Emmerich and Dave Wile},
publisher = {IEEE CS Press},
note = {10 pages.},
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, \ie{} 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.},
grant = {\ygg@company{Object Technology International, Inc.}},
keywords = {Binary class relations ; ASE},
kind = {MISA},
language = {english},
url = {http://www.ptidej.net/publications/documents/ASE02.doc.pdf},
pdf = {http://www.ptidej.net/publications/documents/ASE02.ppt.pdf},
pages = {117--126}
}
Downloads: 0
{"_id":"CutWEPJ9yecY3Gi5F","bibbaseid":"guhneuc-douence-jussien-nojavawithoutcaffeineatoolfordynamicanalysisofjavaprograms-2002","downloads":0,"creationDate":"2018-01-17T20:29:42.614Z","title":"No Java Without Caffeine – A Tool for Dynamic Analysis of Java Programs","author_short":["Guéhéneuc, Y.","Douence, R.","Jussien, N."],"year":2002,"bibtype":"inproceedings","biburl":"http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene (automatically cleaned).bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Yann-Gaël"],"propositions":[],"lastnames":["Guéhéneuc"],"suffixes":[]},{"firstnames":["Rémi"],"propositions":[],"lastnames":["Douence"],"suffixes":[]},{"firstnames":["Narendra"],"propositions":[],"lastnames":["Jussien"],"suffixes":[]}],"title":"No Java Without Caffeine – A Tool for Dynamic Analysis of Java Programs","booktitle":"Proceedings of the 17<sup>th</sup> Conference on Automated Software Engineering (ASE)","year":"2002","month":"September","editor":[{"firstnames":["Wolfgang"],"propositions":[],"lastnames":["Emmerich"],"suffixes":[]},{"firstnames":["Dave"],"propositions":[],"lastnames":["Wile"],"suffixes":[]}],"publisher":"IEEE CS Press","note":"10 pages.","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, ıe an execution history, and a ¶rolog 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.","grant":"\\ygg@companyObject Technology International, Inc.","keywords":"Binary class relations ; ASE","kind":"MISA","language":"english","url":"http://www.ptidej.net/publications/documents/ASE02.doc.pdf","pdf":"http://www.ptidej.net/publications/documents/ASE02.ppt.pdf","pages":"117–126","bibtex":"@INPROCEEDINGS{Gueheneuc02-ASE-Caffeine,\n author = {Yann-Ga{\\\"e}l Gu{\\'e}h{\\'e}neuc and R{\\'e}mi Douence and Narendra Jussien},\n title = {No {J}ava Without {C}affeine~-- {A} Tool for Dynamic Analysis of {J}ava Programs},\n booktitle = {Proceedings of the 17<sup>{th}</sup> Conference on Automated Software Engineering ({ASE})},\n year = {2002},\n month = {September},\n editor = {Wolfgang Emmerich and Dave Wile},\n publisher = {IEEE CS Press},\n note = {10 pages.},\n 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, \\ie{} 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.},\n grant = {\\ygg@company{Object Technology International, Inc.}},\n keywords = {Binary class relations ; ASE},\n kind = {MISA},\n language = {english},\n url = {http://www.ptidej.net/publications/documents/ASE02.doc.pdf},\n pdf = {http://www.ptidej.net/publications/documents/ASE02.ppt.pdf},\n pages = {117--126}\n}\n\n","author_short":["Guéhéneuc, Y.","Douence, R.","Jussien, N."],"editor_short":["Emmerich, W.","Wile, D."],"key":"Gueheneuc02-ASE-Caffeine","id":"Gueheneuc02-ASE-Caffeine","bibbaseid":"guhneuc-douence-jussien-nojavawithoutcaffeineatoolfordynamicanalysisofjavaprograms-2002","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/ASE02.doc.pdf"},"keyword":["Binary class relations ; ASE"],"metadata":{"authorlinks":{"gu�h�neuc, y":"https://bibbase.org/show?bib=http%3A%2F%2Fwww.yann-gael.gueheneuc.net%2FWork%2FPublications%2FBiblio%2Fcomplete-bibliography.bib&msg=embed","guéhéneuc, y":"https://bibbase.org/show?bib=http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene%20(automatically%20cleaned).bib"}},"downloads":0,"html":""},"search_terms":["java","without","caffeine","tool","dynamic","analysis","java","programs","guéhéneuc","douence","jussien"],"keywords":["binary class relations ; ase"],"authorIDs":["AfJhKcg96muyPdu7S","xkviMnkrGBneANvMr"],"dataSources":["Sed98LbBeGaXxenrM","8vn5MSGYWB4fAx9Z4"]}