Le 06/04/2013 12:00, Clément Bera a écrit :
Actually, it is quite different than Jejak.
Implementation wise, Jejak used Opal so I guess it relies on bytecode modification to do its analysis where my tool relies on ast annotations.
Jejak has allways worked by AST modifications. It's just that, at a point, it recompiled the code with Opal to try to get the same behavior that its original tracer under visualworks had, i.e. the source code modifications are invisible to the user... It also played with the bytecode because this had huge performance impacts under VisualWorks, bringing traces with a very low overhead (sadly, the same trick doesn't work with Pharo :().
This implies some difference in features. It seems that Jejak record all calls, all values and all assignments in a method (which is byte code level feature), whereas I record for each ast node if it was interpreted or not (which is ast level feature). I guess there would be a little difference in the use cases.
The current version of Jejak works in the following way : 1- get AST, store original source code 2- search and replace in AST for what you want to trace 3- generate source with traces and compile 4- Wait for it to run... collect trace events on the way. 5- revert to original sources, recompile It's a bit faster than interpreting the AST; it's a bit more invasive as well, but you can change it to record less events if you want. It also works for tracing difficult things such as core Morphic, KeyMapping and Display methods. Thierry
2013/4/6 Frank Shearar <frank.shearar@gmail.com <mailto:frank.shearar@gmail.com>>
On 6 April 2013 07:47, Stéphane Ducasse <stephane.ducasse@inria.fr <mailto:stephane.ducasse@inria.fr>> wrote:
Clement built in a couple of hours the following nice branch analysecoverage tools :) It is dead slow but cool.
By "branch coverage tool" do you mean Jejak?
frank
-- Clément Béra Mate Virtual Machine Engineer Bâtiment B 40, avenue Halley 59650 /Villeneuve d'Ascq/
-- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95