how NASA writes space-proof code