Facebook开发出一款基于人工智能的工具,可在社交网络崩溃时自动修复

Electronic cables are silhouetted next to the logo of Facebook in this September 23, 2014 illustration photo in Sarajevo. REUTERS/Dado Ruvic (BOSNIA AND HERZEGOVINA - Tags: BUSINESS TELECOMS) - LR1EA9O0V25E7
App, heal thyself ... SapFix can seek out and fix bugs on its own.Image: REUTERS/Dado Ruvic
本内容由人工智能自动翻译。

计算机软件中的漏洞,轻则令人烦恼,重则造成巨大经济损失,最严重的情况下甚至会导致惨重的人员伤亡。

如今,绝大多数企业都依赖软件运营业务。从整个供应链到最终客户,真正主导一切的是软件。

Facebook的全新Android应用首次尝试利用人工智能查找并修复其软件中的漏洞。

漏洞是一个大问题

Image: SapFix

软件漏洞的后果影响广泛。

例如,2017年,英国国民保健服务体系(NHS)的计算机系统出现故障,导致其未能寄出709,000份医疗通知函件。部分人因此错过了例行预约,另一些人则未能收到自己的病历,更糟糕的是,有人未能收到癌症检查结果。近2,000名患者因此面临受伤害的风险。

同年,Uber应用程序使一名法国男子陷入麻烦,因为它将他的婚外情暴露给了妻子。尽管他已退出该服务,该应用仍持续向其推送他的位置通知。

2018年,总部位于维也纳的软件测试公司Tricentis发布了一份报告,发现了606起重大软件故障,涉及314家公司,影响资产高达1.7万亿美元。

人工智能如何节省开发人员的时间

软件开发人员需要不断查找并实施各类修复工作,其中有些属于关键修复,有些则属于常规修复。他们已建立相应的系统和流程,帮助其发现漏洞。但大量工作仍需人工逐行排查代码。

Facebook全新的人工智能混合工具(之所以称为“混合”,是因为它仍需人工参与)正是为减轻这些繁琐的基础工作而推出的。

SapFix由Facebook工程师开发,旨在大幅减少工程师调试程序所花费的时间。该工具还旨在加快新软件的推出进程。

SapFix在生成修复方案后,会征求工程师的反馈意见。Image: Facebook

该工具分两步运作。首先,Sapienz(Facebook的智能软件测试工具)负责查找漏洞。随后,SapFix自动生成修复方案并提交给工程师,由工程师完成最终检查后再予以发布。

“自我们开始在8月测试SapFix以来,该工具已成功生成补丁,这些补丁已获得人工审核人员的认可并投入生产环境,”该公司表示,并补充道:

“据我们所知,这是首次将机器生成的修复方案(包含自动化端到端测试与修复)部署到Facebook规模的代码库中。”

有关其运作方式的更多细节,可参见此处。与此同时,Facebook承诺将“在未来”开源这些工具,并利用收到的反馈进一步改进其创新成果。

其主要亮点之一是,它能够在漏洞出现之前将其排除,而这一功能对NHS和Uber或许都大有裨益。

授权与转载
世界经济论坛发布的文章,可依据《知识共享署名-非商业性使用-禁止演绎4.0国际公共许可协议》以及我方《使用条款》进行转载。 本文所表达的观点仅代表作者个人立场,并不代表世界经济论坛的观点。