I've been thinking about the ability for neural networks to determine flaws like this. If we could describe what a 'goal' would be (executing arbitrary binary data for example) and then some of these design aspects it might be possible to determine flaws automatically. This is only 6 steps... I imagine an AI could find more.