Menu

Run-time mutations and more...

Im still working on project, but with less speed - a lot of things to be done on my main work. Today Ive committed a new version of sources, which do mutations dynamically comparing to classic static jester approach. (see http://nester.sourceforge.net/FuturePlans.html for details).Unfortunately it requires me to rewrite the very core of program and touches virtually any part of the system.
Good news is that things are working much faster now (up to 2-3 times).
Bad news is that now Nester should understand C# code much better than before. For instance previously we can just change all occurrence of == to != and get appropriate results. Now we should extract expressions on the left and on the right side of comparison operator. For instance expression --a[0]==0 should be converted to Nester.MutationEngine.Equality(--a[0], 0) which is rather complicated.
For the time being I just limit Nester abilities to mutate code to rather simple examples. In the future I would like to incorporate full-featured expression parser (possibly from Mono)
The other important consequence is that Nester finally stops mutating strings like Argument1 to Argument2. Now numeric mutator applied only to numbers, not strings or literals.
Ive also extracted NUnit interface to separate assembly and ask Jonathan de Halleux (author of MbUnit) to start looking into sources in order to understand what should we change in our projects in order to enable seamless integration.
In conclusion new version is not ready for public yet, but major part of work has been done.

Posted by Andrew Zaikin 2004-09-08

Log in to post a comment.