通常情况下,程序员团队创建的软件是来满足他们所希望达成的某些目标。完成后,他们会测试代码;如果软件能在没有带来不良后果的情况下完成目标,程序员就能得出结论——软件可以照预想那样工作。
软件的编码错误则通常是出现在极端的“临界情况”中,是由一些“不太可能发生的事”构成的完美风暴带来的重大漏洞。近年来最具破坏性的黑客攻击之中,许多例子都和这种极端情况有关。
与此相反,EverCrypt没有遵循大多数代码的编写方式。参与EverCrypt的卡内基梅隆大学计算机科学家Bryan Parno说:“你可以减少代码在数学公式中的行为方式的问题,然后你可以检查公式是否成立。如果确实如此,你知道你的代码有这个属性。”
EverCrypt的工作始于2016年,是由微软研究院领导的Project Everest的一部分。EverCrypt是采用F*语言编写、验证的,F*是一个由微软研究院开发的基于F♯的依赖类型函数式程序语言。
IT之家读者若对此感兴趣,可以点此链接前往相关GitHub页面了解。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。