Sort of off-topic, but does anyone know anything about the software the Airbus (or any commercial aircraft, really) runs? I'd be really interested to know how abstracted the code is from the hardware.
It's highly version controlled. Changing software versions on a plane usually means changing a lot of hardware too. After removing the boxes from the a/c, they can be returned to the manufacturer and the new software can be installed.
We test it in a ground-based simulator rig with the exact computers that would be on an a/c. If it gets approved, we put it on an airplane and we go fly the plane around a lot to make sure the software works.
A software upgrade almost always means switching out the hardware, because that's one way we ensure conformity.