您现在的位置是:首页 > 要闻 > 正文
新方法可确保复杂的程序无需测试即可消除错误
发布时间:2022-06-27 12:28:01编辑:来源:
一组研究人员设计了一种方法,无需传统软件测试即可验证一类复杂程序是否没有错误。该系统称为Armada,该系统利用一种称为形式验证的技术来证明某个软件是否可以输出预期的结果。它以使用并发执行运行的软件为目标,并发执行是提高性能的一种广泛方法,长期以来,将其应用到该方法中一直是一项特别具有挑战性的功能。
该合作努力密歇根大学,微软研究院和卡内基·梅隆之间的ACM编程语言设计与实现(PDLI2020)有杰出论文奖被认可。
并发程序以其复杂性而闻名,但是在处理器的原始速度开始趋于平稳之后,并发程序已成为提高性能的重要工具。通过各种不同的方法,该技术可以归结为在程序中同时运行多个指令。一个常见的示例是一次使用多个CPU内核。
另一方面,形式验证是一种证明程序将始终输出正确值而不必用所有可能的输入进行测试的方法。通过将程序作为数学证明,程序员可以证明错误或错误是不可能的,并且其执行是密封的。即使没有并发,这也克服了所有程序的共同缺点,即彻底测试某些东西可能不切实际或实际上是不可能的。
该论文的合著者ManosKapritsos教授说:“从根本上讲,除非您尝试所有可能的输入方式,否则您可能会错过一些东西。”“而且在实践中,人们确实会错过事情。我们正在谈论的系统非常复杂,无法完全尝试该系统的所有行为。”
正式验证可以代替这种详尽测试的需求。但是事实证明,生成令人满意的证明的过程非常困难且耗时,特别是当您深入研究具有并发复杂性的程序时。
“并发程序的主要挑战在于需要将许多不同的代码线程协调在一起,”在UM本科期间从事该项目工作的合著者UpamanyuSharma说。“为了验证多线程程序是正确的,我们必须对多个方法同时运行时可能发生的大量交错进行推理。”
如此大量的分支可能性很难通过逻辑公式来概念化和表达。
迄今为止,已经设计了多种证明方法来处理不同类型的并发。在这个项目中,研究人员着手设计一个单一的框架,该框架允许用户应用其中的许多技术来验证一个程序,其最终目标是尽可能减少前期的工作量。
Armada的工作方式是将经过并发设计的系统进行一系列转换,直到将其分解为更简单的表示形式。开发人员只需证明每个简化的步骤确实代表了上一步中较复杂的程序。为此,开发人员使用Armada的高级语法来描述较简单的程序,并指出支持转换所需的证明方法之一。
Kapritsos解释说:“在每次转换之后,您都需要推理出系统保持其正确性或等同于先前的正确性。”
然后,舰队的每个步骤都会自动生成证明,并通过证明者进行验证。如果证明失败,用户将更改其描述或证明方法并生成新的描述或证明方法。
标签:
猜你喜欢
最新文章
- DeepSeek公告:线上服务遭大规模恶意攻击,暂限非+86手机号注册
- IGN揭秘《刺客信条:影》新实机演示:主角形象深入人心!
- 焕新登场:全新起亚K4紧凑型车图解赏析
- 重庆:2025年将持续推进163项城中村改造项目
- 蔚来乐道春节期间暂停车机升级,2月6日恢复推送服务
- 超有牌面!国产游戏《明末:渊虚之羽》登上英国《EDGE》杂志封面,漫画风女侠惊艳亮相
- 币界网晚间行情速递:BTC比特币报价$103,391.48,日内微跌1.04%
- 暗区突围:全面转载新手必备攻略
- 未来人生:个人满级天赋展示与深度评价(五)
- 探索功夫英雄的奇妙世界:玩法特色与剧情概览
- 最后一波福利!速来领取《黑神话:悟空》限定红包封面!
- 《暗黑4》Steam史无前例大促:标准版仅售191.4元,速来抢购!
- 广东:2027年目标全面构建绿色低碳循环经济体系
- 金价飙升,直逼840元大关!黄金店铺春节延期休假,蛇金饰品与足金手机贴受热捧!
- 《宝可梦卡牌P》新扩展包时空激战1月30日震撼发布,帝牙卢卡荣耀参战
- 截至今晨7点,全国172个公路路段受雨雪寒潮侵袭影响
- 币界网晚间行情速递:DOT波卡币攀升至6.446美元/枚,日内涨幅达2.01%
- 《龙腾世纪4》销量惨淡致EA股价暴跌21.25%!市场反应强烈
- 比亚迪海豹汽车OTA升级:全新引入城市领航功能等重磅更新
- 特朗普透露或于30日天内决断TikTok命运
- 10亿基金助力,中部城市赣州抢占人形机器人产业先机
- 《蛋仔派对》服务器崩溃引发玩家不满,官方深夜致歉并修复问题
- Stellantis重启美国贝尔维迪尔工厂,千余员工将重返岗位
- 一鸣食品全资子公司增资扩建:1.32亿打造4500头规模繁育基地