Maybe the pitot tubes clog up somewhat symmetrically, so before they disagree they all report a massive increase in airspeed.
The autopilot pitches the airplane up sharply, then the sensors disagree, and dump the whole mess into the laps of the pilots, dropping stall protection at the same time.
Maybe that's the case, maybe it isn't, and the pilots pitched the airplane up. But if it was the autopilot:
My question is, why doesn't the software realize, especially when in cruise, that pitch and power haven't changed much, GPS altitude is relatively stable, that a big increase in airspeed is simply illogical?
I'll back ADA as a strong programming language. It helps prevent PROGRAMMING errors, syntax errors, buffer overruns and such.
No matter what the programming language is, though, it doesn't prevent otherwise correctly coded software that has errors in human logical thinking. If the software isn't written to identify such a situation and fall back to a pitch and power mode on its own, then it simply won't happen.