[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: Execution replay for Qt/KDE applications
From:       Frans Englich <frans.englich () telia ! com>
Date:       2004-10-13 23:26:36
Message-ID: 200410132326.36488.frans.englich () telia ! com
[Download RAW message or body]

On Wednesday 13 October 2004 23:10, Oliver Oppitz wrote:
> Hi all,
>
> I am currently investigating the possibility to use execution replay for
> Qt based applications. The basic idea is to record all QEvents (key
> pressed, mouse events, redraw, ...) during the lifetime of an application
> (and all data read from files). By feeding these events/data back to the
> application in a second run, the application should behave identically.
>
> I believe the feature could be very useful for debugging sporadic errors.
> Even a non-technically adept users can mail the recorded traces to the
> developer who can then replay the events that lead to the problem. There
> is simply is no better bug description than having the application show
> itself what went wrong. A second use of execution replay could be
> regression testing.

Very cool.

>
> The implementation should be fairly easy, either using event filters or
> reimplementing QApplication.notify().
>
> - Has anyone done work along these lines so far?
> - Any opinions?
> - Do you think this would be useful?

I think thoughts in that direction is interesting, I've pondered some too. 
Alan Cox said something interesting:

<blockquote>
Brute force testers: "These are beta testers, and users of dot-zero versions 
of software, of course. And tools like CrashMe, which is one of the ones we 
use for Linux. And there are application level equivalents of this. The basic 
idea is, generate random input, feed it to the application, keep doing this 
until the application breaks. It's surprisingly effective. In a recent study 
they did this with Windows application software, feeding random Windows 
events to it, so effectively it simply sat there at full computer speed 
continuously clicking randomly, closing and opening dialog boxes, picking 
menu items, and typing. And about half the Windows software they subjected to 
this particular torture, crashed."[1]
</blockquote>

Perhaps the same could be done with Qt/KDE apps; With Qt's introspection 
random QWidgets are selected, and they are then fed with random signals...


Cheers,

		Frans



1.
"Alan Cox on writing better software", page 2
http://www.pingwales.co.uk/software/cox-on-better-software_1.html
 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic