Automating the Saff Squeeze
Posted by Uncle Bob on 11/30/2008
I want the JetBrains and Eclipse people to automate The Saff Squeeze
Imagine that you have a Feathers Characterization test that fails. You click on the test and then select Tools->Saff Squeeze. The IDE then goes through an iteration of inlining the functions in the test and Jester-ing out any code that doesn’t change the result of the assertion.
I think that by using internal code coverage monitoring to see the paths being taken, and by intelligent monte-carlo modification, you could automatically reduce the code down to the minimum needed to maintain the defect.
Comments
Markus Gärtner about 1 hour later:
That would be really cool. Unfortunately Eclipse seems to be limited to inlining a function. That’s why Kent needed to add the appendix chapter on how to modify a function in order to be able to have it inlined by Eclipse. I think on the way to automating the Saff Squeeze there might be other obstacles, that need to be addressed as well…
Sebastian Kübeck about 1 hour later:
Andreas Zeller describes algorithms for automatized debugging in his Book “Why Programs Fail”. Maybe someone can used those techniques to automatize Saff Squeeze too.
demimore about 1 year later:
Andreas Zeller describes algorithms for automatized debugging in his Book “Why Programs Fail”. Maybe someone can used those techniques to automatize Saff Squeeze too.
jeack about 1 year later:
That would be really cool. Unfortunately Eclipse seems to be limited to inlining a function. That’s why Kent needed to add the appendix chapter on how to modify a function in order to be able to have it inlined by Eclipse. I think on the way to automating the Saff Squeeze there might be other obstacles, that need to be addressed as well…
pandora uk over 2 years later:
I think that by using internal code coverage monitoring to see the paths being taken, and by intelligent monte-carlo modification, you could automatically reduce the code down to the minimum needed to maintain the defect.