3 ms·
You can add to this list strictly-restricted subsets of C++ used for kernel development because it just has to be sane. A notable example is Darwin and kexts. I
by lloeki 10y ago
You can add to this list strictly-restricted subsets of C++ used for kernel development because it just has to be sane. A notable example is Darwin and kexts. I don't know what the NT folks are using.
- catnaroek 10y agoThe idea that you can find a sane subset of C++ is itself insane.
- nickpsecurity 10y agoReally? https://news.ycombinator.com/item?id=11895686 https://news.ycombinator.com/item?id=11895686
- catnaroek 10y agoFrom your linked post: > https://www.cis.upenn.edu/~eir/papers/2013/ironclad/paper.pdf https://www.cis.upenn.edu/~eir/papers/2013/ironclad/paper.pd... It still relies on dynamic checks. So you still have the same problem as in Java: just because you have a reference, it doesn't mean you actually have a valid object. You can make any language trivially safe by checking absolutely everything at runtime, but the whole point to using a language like C++ is to not incur in unnecessary performance overheads. > http://research.microsoft.com/en-us/um/people/marron/selectpubs/Undangle.pdf http://research.microsoft.com/en-us/um/people/marron/selectp... Have you actually read the paper? This isn't a static analysis at all. It just makes a dynamic analysis more eager and precise.
- nickpsecurity 10y agoAppreciate insight on first link. Far as other, that's my mistake given I only read parts on anslysis, diagnostic, and performance. It was in a list of static anslysis stuff I found. So, I wrongly assumed it was static analysis instead of verifying it myself as I did first one on that page [that worked but had limitations].
- pjmlp 10y agoThe SAL annotations and the Z3 theorem prover developed at MSR are part of the DDK. Additionally, since Windows 8 C++ is allowed on the kernel space and they have re-written the C library in C++, exposing the API via extern "C".