To read all comments associated with this story, please click here.
The kernel may not crash, but it also may not do what is expected.
Because of course the software runs into the problem of Who Verifies The Verification Rules?
Also I just thought of many ways a fully verified kernel can still crash: all sorts of hardware interaction.
Say a driver orders a device to DMA network packets into a RAM block but somehow frees that RAM block before shutting down the DMA engine, then that block gets reused for a loadable driver code, then WHAM kernel crash when another network packet gets received.
like first, i'm not bashing this project. i'm bashing pipe dream about perfect world they want to show.
since when did verification mean anything? especially in commercial waters? you have ms verified drivers and they usually work worse then non verified. you have all sorts of verifications elsewhere, and to what account? for pr bogus that helps them sell more
unfortunately, coders don't really decide on their product. management and pr does. which often leads to going out with completely bogus half assed project.
i think i'm going to live to have meaningful conversation with gingerbread people long before i see something like completely secure and trustworthy.
and like the other poster said... who polices the police?
You are mixing your terms. Microsoft "certifies" drivers, meaning nothing more than "trust us, it works - cause we looked at it... and were Microsoft". "Verified", as it is used by the developers on this project, means it has passed a specific set of rigid mathematically proven tests for type safety that guarantees the code in question does not do certain explicitly defined "bad" things. It does not mean the code is perfect and does not contain bugs, but it does mean it does not perform certain unsafe operations. Verified != bug free.
The point is not to "police" anything. You are taking what amounts to a very interesting but currently unrealistic experiment, and trying to project it's affect on your world view of whats wrong with software development... that ain't the point.
Verification at this level is simply a tool. It is very useful because it acts as insurance against human error (assuming the fundamentals of the type checking are sound). It is also highly specialized and not applicable to any "normal" software development practice currently in use - they had to essentially build their own little software development ecosystem in order to test it...
The point is if you can build something that can type check code at the assembly level, and you can build a runtime/compiler/jit that can reliably annotate the assembly code it generates with type annotations for such a tool to work with, you can then build verification tools that can determine with a great deal of accuracy if said code is doing something wonky you don't want it doing. Thats it. Its useful, but it is no panacea.
On a side note... I often get the general impression that a lot of programmers get all riled up about all this "new age" stuff from Channel9 and lash out against it simply because it is Microsoft backing it. Watch the video. If you are a programmer and can't relate to the guy being interviewed please turn in your geek card - the guy is obviously intelligent, motivated, and cares about what he is doing. I couldn't care less what company he is working for, and I don't think he cares much either. He is in it for the work - this is what research is supposed to be and I applaud Microsoft for funding it.





Member since:
2009-11-11
A lot of people complain about osnews being too broad, too much a tech blog and no longer an "os site". However, projects like verve and singularity really look like the future of operating systems; so, if you care as much about OS's as you say you do, you ought to at least look at this stuff.
Moving to an os like verve would be a great step forwards in terms of security (pretty much all root-elevation kernel hacks would be gone), stability (the kernel isn't very likely to crash if its formally verified), and, to a small extent, performance (No context-switch overhead, IPC is cheaper). Of course, Verve is not a mature system, and surely integrating real 3d graphics drivers, for example, might be quite a project - but the idea and the future potential are there.