Cryptic Rumblings Ahead of First 2020 Patch Tuesday
It's a shame that mathematically proving correctness of code, <i>even for extremely important code</i>, is never done.<p>I wonder how many lines of code in crypt32.dll. Is it on the order of 7500 lines? If Microsoft spent a few man-years mathematically proving the correctness of that code, they could have the saved the world about 10,000 man-years.<p>Windows has a user base of 1 billion[1]. A ballpark figure for proving the correctness of 7500 lines of very complex code[2] is about 30 man years[3]. If even 1% of the 1 billion Windows users and sysadmins has to spend a couple hours on things related to this patch, it works out to 9615 man-years of worldwide waste (based on an 8 hour workday and 260 workdays a year).<p>Had there been a wide-spread exploit, it could have cost the world millions of man-years.<p>[1] <a href="https://en.wikipedia.org/wiki/Usage_share_of_operating_systems" rel="nofollow">https://en.wikipedia.org/wiki/Usage_share_of_operating_syste...</a><p>[2] <a href="https://www.schneier.com/blog/archives/2009/10/proving_a_compu.html" rel="nofollow">https://www.schneier.com/blog/archives/2009/10/proving_a_com...</a><p>[3] Professor Gernot Heiser, the John Lions Chair in Computer Science in the School of Computer Science and Engineering and a senior principal researcher with NICTA, said for the first time a team had been able to prove with mathematical rigour that an operating-system kernel—the code at the heart of any computer or microprocessor—was 100 per cent bug-free and therefore immune to crashes and failures. Verifying the kernel—known as the seL4 microkernel—involved mathematically proving the correctness of about 7,500 lines of computer code in a project taking an average of six people more than five years.