厌倦调试代码?Facebook的SapFix工具自动化全过程

徐大白
3周前 阅读 73 点赞 2

SapFix是一种自动调试程序脚本的工具。

它有足够的智能来评估各种bug修复并向工程师提供建议。

Facebook计划在不久的将来,一旦它完成了更精细的细节设计就开源工具。


介绍

调试代码是一项繁琐繁琐的任务。我还没有遇到一位数据科学家或数据工程师,他期待着仔细地梳理他/她的代码,寻找出什么问题(我怀疑我不会很快见到这个人)。

今年有几个版本专注于自动寻找编程脚本中的错误。现在,Facebook是最引人注目的公司,它的帽子敲响了SapFix的公告。

尽管SapFix是一个独立的工具,但Facebook目前正与Sapienz(该公司使用的另一个软件测试工具)同时使用它。截至今天,Sapienz在程序中发现bug,SapFix致力于在代码到达生产环境之前修复它们。


下面的工作流程从facebook的博客文章中描述了SapFix是如何工作的:

SapFix针对每个bug生成多个潜在的修复。然后在三个因素的基础上设计它们的质量:

  • 编译错误
  • 撞车事件还在继续吗?
  • 是否有来自固定代码的新崩溃?

一旦代码被完全测试,工具就把它们发送给一个人类工程师批准。听起来和大多数测试工作差不多,对吧?SapFix足够智能,甚至可以根据上述评估标准向工程师提出自己的建议。

虽然Sapienz几乎在脸谱网上广泛使用,但SapFix仍处于一个相对萌芽的阶段。工程团队在组织内的日常操作中全面部署之前,正在努力制定更精细的细节并围绕边缘进行工作。一旦做到这一点,他们计划开源到更广泛的ML社区。


小结

如果您是那种非常喜欢编程,以至于调试不会成为负担的少数人之一,那么我向您致敬。我觉得这是一项非常艰巨的任务,我很想避免。我最近一直在Python使用PixieDebugger,这确实帮助我直观地感觉到哪里出了问题。

但是自动化全过程呢?多么令人欢迎的消息啊!我迫不及待地想让SapFix开源。

| 2
登录后可评论,马上登录吧~
评论 ( 1 )
<html><body><p>像徐大神学习</p></body></html>
回复
6天前