Bug in Code Requires Boeing 787 Dreamliner to Reboot at least every 248 days to stay Flying

 

The Dreamliner is a great looking plane and is full of the latest technology but like any other piece of sophisticated technology there is a lot of code behind the scenes keeping things working. Bug in Code Requires Boeing Dreamliner to Reboot at least every 248 days to stay Flying! If you have ever taken even an introductory programming class you will have probably seen the effect of integer math overflow. If you increment an integer one more time past the largest value it can hold it will overflow. This results in the new value being smaller than the previous value. This can result in strange scenarios that can cause issues if not checked for. There are many systems that had roll over issues 15 years ago (Y2K) when systems with 2 digit year representations reverted to the year 1900. Even the loved Unix time base is based on the number of seconds that have elapsed since January 1st 1970. This means that every day the Unix time increased by a count of 86400 since January 1st 1970. This also means that the 32 bit signed int will overflow in 2038.

I can understand how this type of bug got slipped into the plane code, I am just not sure how it remained uncaught. I would hope there would be very strict line by line code review where bound checks would have been tested. At least it was caught before it caused an accident and it will now be a reminder how important every bit of code it. At least if there is an issue in the air with the backdoor a skilled hacker might be able to hack into the system and bring things back online. 🙂

 

Bug in Code Requires Boeing 787 Dreamliner to Reboot at least every 248 days to stay Flying_2