Time Machine

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Time Machine

laurent laffont
Hi,

From a discussion I had with Kent Beck about Continuous Testing / Autotest (see http://pharocasts.blogspot.com/2010/07/live-testing-with-autotest.html ), I would like to add a kind of Time Machine for Smalltalk code in Autotest.

When a test fails, what I really want to know is why. Sometimes a test fails and I don't know why. So I have to go through a debugging session which distracts me from what I've been coding.

So an idea is to diff backtrace before and after the test fails:
- revert to last green
- replay the test and save the trace
- forward to current test and run (test fails)
- compare execution paths in order to see the consequence of last change

How would you do this ? Where should I look for materials which can help me coding this ?

Cheers,

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Time Machine

Stéphane Ducasse
sound cool.
looks like a research topic on it own.

> When a test fails, what I really want to know is why. Sometimes a test fails and I don't know why. So I have to go through a debugging session which distracts me from what I've been coding.
>
> So an idea is to diff backtrace before and after the test fails:
> - revert to last green
> - replay the test and save the trace
> - forward to current test and run (test fails)
> - compare execution paths in order to see the consequence of last change
>
> How would you do this ? Where should I look for materials which can help me coding this ?

I would use MethodWrapper or the like (may be byetsurgeon when available)
and you can also have a look at dynamix (a famix extension in the Phd of orla greevy) to model trace.
then you keep track of what changed using a changeset and revert.

Stef


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Time Machine

Alexandre Bergel
In reply to this post by laurent laffont
> - compare execution paths in order to see the consequence of last change

Not easy to get. But yes, this is what the whole world wants :-)

Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Time Machine

Stéphane Ducasse
In reply to this post by laurent laffont
did you read delta debugging from andreas Zeller?

Stef

On Jul 22, 2010, at 11:11 PM, laurent laffont wrote:

> Hi,
>
> From a discussion I had with Kent Beck about Continuous Testing / Autotest (see http://pharocasts.blogspot.com/2010/07/live-testing-with-autotest.html ), I would like to add a kind of Time Machine for Smalltalk code in Autotest.
>
> When a test fails, what I really want to know is why. Sometimes a test fails and I don't know why. So I have to go through a debugging session which distracts me from what I've been coding.
>
> So an idea is to diff backtrace before and after the test fails:
> - revert to last green
> - replay the test and save the trace
> - forward to current test and run (test fails)
> - compare execution paths in order to see the consequence of last change
>
> How would you do this ? Where should I look for materials which can help me coding this ?
>
> Cheers,
>
> Laurent Laffont
>
> http://pharocasts.blogspot.com/
> http://magaloma.blogspot.com/
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Time Machine

laurent laffont

On Thu, Jul 22, 2010 at 11:34 PM, Stéphane Ducasse <[hidden email]> wrote:
did you read delta debugging from andreas Zeller?

No. Where ?

Laurent

 

Stef

On Jul 22, 2010, at 11:11 PM, laurent laffont wrote:

> Hi,
>
> From a discussion I had with Kent Beck about Continuous Testing / Autotest (see http://pharocasts.blogspot.com/2010/07/live-testing-with-autotest.html ), I would like to add a kind of Time Machine for Smalltalk code in Autotest.
>
> When a test fails, what I really want to know is why. Sometimes a test fails and I don't know why. So I have to go through a debugging session which distracts me from what I've been coding.
>
> So an idea is to diff backtrace before and after the test fails:
> - revert to last green
> - replay the test and save the trace
> - forward to current test and run (test fails)
> - compare execution paths in order to see the consequence of last change
>
> How would you do this ? Where should I look for materials which can help me coding this ?
>
> Cheers,
>
> Laurent Laffont
>
> http://pharocasts.blogspot.com/
> http://magaloma.blogspot.com/
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Time Machine

Stéphane Ducasse
http://www.st.cs.uni-saarland.de/dd/
you can get some papers but also the slides that go with the book
Stef

On Jul 22, 2010, at 11:36 PM, laurent laffont wrote:

>
> On Thu, Jul 22, 2010 at 11:34 PM, Stéphane Ducasse <[hidden email]> wrote:
> did you read delta debugging from andreas Zeller?
>
> No. Where ?
>
> Laurent
>
>  
>
> Stef
>
> On Jul 22, 2010, at 11:11 PM, laurent laffont wrote:
>
> > Hi,
> >
> > From a discussion I had with Kent Beck about Continuous Testing / Autotest (see http://pharocasts.blogspot.com/2010/07/live-testing-with-autotest.html ), I would like to add a kind of Time Machine for Smalltalk code in Autotest.
> >
> > When a test fails, what I really want to know is why. Sometimes a test fails and I don't know why. So I have to go through a debugging session which distracts me from what I've been coding.
> >
> > So an idea is to diff backtrace before and after the test fails:
> > - revert to last green
> > - replay the test and save the trace
> > - forward to current test and run (test fails)
> > - compare execution paths in order to see the consequence of last change
> >
> > How would you do this ? Where should I look for materials which can help me coding this ?
> >
> > Cheers,
> >
> > Laurent Laffont
> >
> > http://pharocasts.blogspot.com/
> > http://magaloma.blogspot.com/
> > _______________________________________________
> > Pharo-project mailing list
> > [hidden email]
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Time Machine

Patrick Barroca
I've ordered "Why programs fail" by Andreas Zeller.
It will be my summer holidays book ;)


On Thu, Jul 22, 2010 at 11:52 PM, Stéphane Ducasse
<[hidden email]> wrote:

> http://www.st.cs.uni-saarland.de/dd/
> you can get some papers but also the slides that go with the book
> Stef
>
> On Jul 22, 2010, at 11:36 PM, laurent laffont wrote:
>
>>
>> On Thu, Jul 22, 2010 at 11:34 PM, Stéphane Ducasse <[hidden email]> wrote:
>> did you read delta debugging from andreas Zeller?
>>
>> No. Where ?
>>
>> Laurent
>>
>>
>>
>> Stef
>>
>> On Jul 22, 2010, at 11:11 PM, laurent laffont wrote:
>>
>> > Hi,
>> >
>> > From a discussion I had with Kent Beck about Continuous Testing / Autotest (see http://pharocasts.blogspot.com/2010/07/live-testing-with-autotest.html ), I would like to add a kind of Time Machine for Smalltalk code in Autotest.
>> >
>> > When a test fails, what I really want to know is why. Sometimes a test fails and I don't know why. So I have to go through a debugging session which distracts me from what I've been coding.
>> >
>> > So an idea is to diff backtrace before and after the test fails:
>> > - revert to last green
>> > - replay the test and save the trace
>> > - forward to current test and run (test fails)
>> > - compare execution paths in order to see the consequence of last change
>> >
>> > How would you do this ? Where should I look for materials which can help me coding this ?
>> >
>> > Cheers,
>> >
>> > Laurent Laffont
>> >
>> > http://pharocasts.blogspot.com/
>> > http://magaloma.blogspot.com/
>> > _______________________________________________
>> > Pharo-project mailing list
>> > [hidden email]
>> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Patrick Barroca

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project