Most of BART’s challenges stem from 180 software packages and 30 microprocessors that make up each Bombardier vehicle. Each is a complex symphony of systems that communicate over an Ethernet backbone. A bug in one line of code could shut the whole thing down, requiring a rigorous safety review process that may take months before engineers can reinstall the software."