I get the idea – process of elimination. However, sometimes a problem is caused by a combination of modules. The current algorithm can't detect those.
Instead of always only loading half of the next group, I recommend an accumulation strategy instead.
Disable all modules - does it persist?
Y? : Disable half the modules – does it persist?
3: Y? : Load all the ones that were in the negative group (i.e. not persist group) plus half the ones in the positive group (i.e. does persist group).
It takes a bit more tracking as you have to keep track of which groups and combinations were positive and which negative at various stages but with this strategy one should be able to isolate problematic combinations of modules also.
I get the idea – process of elimination. However, sometimes a problem is caused by a combination of modules. The current algorithm can't detect those.
Instead of always only loading half of the next group, I recommend an accumulation strategy instead.
It takes a bit more tracking as you have to keep track of which groups and combinations were positive and which negative at various stages but with this strategy one should be able to isolate problematic combinations of modules also.