3 ms·
Something like this make the burden of annotating lifetime like someone would do in Rust, to avoid the insecure parts of C and C++ kind of a complete productivi
by oscargrouch 12y ago
Something like this make the burden of annotating lifetime like someone would do in Rust, to avoid the insecure parts of C and C++ kind of a complete productivity lost, unless you are fan of metaprogramming...
This can make those languages king again, given they are still unbeatable when someone needs performance and fine tunning..
I wonder if this could really meant, we can use those languages for rockets, cars and airplanes, without worrying, the human lives lost or burning large sums of money because of dangling pointers family of bugs..
- cwzwarich 12y agoIt's a dynamic check for correctness, which you'd probably want to avoid in a rocket or an airplane.
- willvarfar 12y agoTangentially related, I was struck the first time I saw a compass on an airliner seat-back display... Is the plane's navigation system really interfacing with a Windows CE entertainment system? And how do you isolate it so a crashing entertainment system (we've all seen blue screens of death on the seat backs) doesn't adversely affect the flight system? I'm imagining optical isolators, or a separate compass just for the seat backs, or ... Hopefully it is isolated physically and not just by code review! Extending this, it is easy to imagine modern military aircraft are interconnected so their radar etc interacts with others. How do you protect it? (And is, say, 2.6% CPU a price worth paying up front to do so?)
- pjmlp 12y agoThey aren't connected. For example, car systems use real-time micro kernel and systems only talk via the network with something like CAN bus. This already provides some isolation. Then you have MISRA for C and C++ code, High Integrity C++, Ada and Ada SPARK, and code generation based on formal methods. This coupled with static code analysis and rigorous certification processes that all of these systems are being used as they should. You can get an idea of these issues are discussed from the High Integrity Software conference programme. http://www.his-2014.co.uk/programme.html http://www.his-2014.co.uk/programme.html
- willvarfar 12y agoYet in the real world things get hacked over the network all the time. When two systems talk, there is the potential - tendency, even - for the protocol handling on one side or the other to be exploitable.
- pjmlp 12y agoAre you planning to open the plane fuselage or car chassis to plug into the network cabling?
- willvarfar 12y agoI am replying to someone saying that these checks are too slow for use in aeroplanes by reflecting on how modern aeroplanes are part of a network. And who would be surprised to find some kind of plug on the pcb in the seat rest?
- pjmlp 12y agoAs I mentioned on my post entertainment system is not connected to the flight system.
- willvarfar 12y agoSo you are saying that the commercial airliners have separate compass etc to drive those seat back displays? Because it was quite a storm when hacking via in-flight wifi and entertainment systems was demonstrated by Ruben Santamarta at Black Hat...
- oscargrouch 12y agofair point!
- pjmlp 12y agoThe problem is that we already use them and it will take generations to change, regardless of what D and Rust are trying to do. The industry has taken the path MISRA,static analysis and formal methods. With Spark being the only exception. JPL is only now moving away from C to C++ as shown on their Mars Rover presentation at CppCon. So it will take several years before they change again. Even if they resolve the issues pointed out in the paper, the adoption is still questionable, given the way the certification processes work.
- deleted 12y ago[deleted]