TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Reverse Engineer’s Perspective on the Boeing 787 ‘51 days’ Directive

187 pointsby traszover 2 years ago

10 comments

tjrover 2 years ago
One thing to consider when looking at such things is that commercial avionics software systems are full of known limitations. I do not know if this particular 51-day limitation was intentional or not, but in general:<p>Avionics software starts with writing comprehensive requirements. When the software itself is developed based on those requirements, it is then tested against the requirements, always in a real functioning airplane, but also often in smaller airplane-cockpit-like rigs and in purely simulated environments.<p>Nobody is going to write a requirement that says &quot;this avionics subsystem will function without error forever&quot;. Even if you thought you could make it happen, you can&#x27;t test it. So there are going to be boundaries. You might say that the subsystem will function for X days. What happens after that? It may well run just fine for X+1 days, or 2X days, or 100X days. But it&#x27;s only required to run for X days, and it&#x27;s only tested and certified for running for X days.<p>I could easily imagine that this particular subsystem was required and certified for some value of X &lt;=51 days, and it just so happened that if the subsystem ran for over 51 days then it started to fail. Or, it could have been a genuine mistake.<p>But even if the intended X wasn&#x27;t 51 days, there almost certainly was some intended, finite value for X. We might say, &quot;well, my laptop has run for three years without needing a reboot&quot;. Great! Is that a guaranteed, repeatable state of operation that the FAA would certify? Probably not. And besides that, do we really want to have to endure a three-year verification test?<p>In most software, we are happy to say, &quot;it <i>should</i> run indefinitely&quot;. For avionics software, that&#x27;s insufficient. We instead say &quot;it <i>will</i> run at least for some specific predetermined finite amount of time&quot; and then back up that statement with certifiable evidence.
评论 #33243499 未加载
评论 #33244132 未加载
评论 #33244307 未加载
评论 #33245980 未加载
评论 #33244876 未加载
userbinatorover 2 years ago
<i>For example, let’s imagine that the timestamp set by the transmitting ES is close to its wrap-around value. After performing the required calculation, the receiving ES obtains a timestamp that has already wrapped-around, so it would look like the message had been received before it was actually sent.</i><p>Isn&#x27;t it surprising that modulo arithmetic, as already employed successfully in TCP sequence numbers and the like, still seems to be incorrectly implemented today? What&#x27;s more disappointing is seeing all the other incredible systemic complexity they&#x27;ve added, and yet the plane appears to have no mechanical backup instruments?
评论 #33241846 未加载
评论 #33244447 未加载
rootusrootusover 2 years ago
Fascinating analysis. I know planes get used a lot, but I&#x27;m surprised that they go for such a long time without ever being powered down.
评论 #33241597 未加载
pixelfarmerover 2 years ago
I remember articles of the Airbus A350 requiring reboots every N days (150ish or so?). I remember the Patriot missile system required a reboot every 24 hours or so until they fixed the software defect which caused the time counting to drift. And I&#x27;m pretty sure there are many more such cases where devices fail if kept on for too long, even in spaces where you are supposed to fill out a lot of &quot;paper&quot;work + jump through a lot of defined processes like in avionics, medical, or automotive field, among a good few others (safety and all that).
评论 #33244986 未加载
评论 #33245160 未加载
rcyehover 2 years ago
tl;dr: 51 days is the wraparound point of a signed 6-byte counter running at 33 MHz, used to invalidate stale data from instruments.
评论 #33242813 未加载
评论 #33241407 未加载
评论 #33243388 未加载
评论 #33242836 未加载
junarover 2 years ago
Please add (2020) to the title.
kreelmanover 2 years ago
This is a really good analysis of the issue from the just the verbage from FAA. Well done.
acdangerover 2 years ago
Reminds me of the LAX Air Traffic Control Shutdown of 2004: <a href="https:&#x2F;&#x2F;m.slashdot.org&#x2F;story&#x2F;49885" rel="nofollow">https:&#x2F;&#x2F;m.slashdot.org&#x2F;story&#x2F;49885</a>
newscluesover 2 years ago
Why?<p>Was it a cost issue?<p>Or was there an expectation that a regular maintenance check would occur within this time frame that involved a reboot as part of the maintenance check for diagnostics?
Taniwhaover 2 years ago
51 days is slightly more than 2^32 milliseconds?
评论 #33243628 未加载