当前位置:首页 > 旅游指南

infer AI自动识别移动应用代码bug:详解Facebook Infer

选自《走向科学》

参与:Geek AI,Lu

Facebook的Project expense在部署移动应用之前是如何识别bug的?

Infer 官网地址:https://fbinfer.com/GitHub 地址:https://github.com/facebook/infer

不久前,来自Facebook的一个工程团队获得了ACM SIGPLAN POPL最具影响力论文奖,这是机器学习研究界最受关注的奖项之一。这个团队的获奖论文是《双归纳法的成分形状分析》,介绍了我近年来最喜欢的机器学习应用之一“项目推断”背后的科学原理。项目推断的目标是在移动应用程序发布之前检测它们的缺陷。这项技术似乎是科幻电影中的一座桥梁。

移动应用程序中的bug通常代价高昂。对于任何开发人员来说,在移动应用被分发到成千上万的移动设备后发现错误都是一场噩梦。传统的移动应用测试侧重于重构已知场景,但实际上有很多代码组合可能会触发错误情况,这是传统测试方法无法检测到的。项目推断扫描移动应用程序的代码,并检测可能的错误情况,最终由开发人员进行审查。自从该软件三年前向公众开放以来,推断项目已经被AWS、Spotify和Uber等世界顶级公司采用。

项目推断是如何工作的?

项目推断使用逻辑推理来推理软件程序可能的执行结果。任何大型移动应用程序都可能包含数亿个可能触发错误情况的代码组合,这使得传统的代码分析例程无法扩展到所有可能的情况。Facebook的Express构建了关于应用的增量知识,提高了应用整个开发生命周期的开发效率。

从顶层来看,Facebook expense的工作流程可以分为捕获和分析两个主要阶段。并且其生命周期可以分为两个主要部分:全局部分和差异部分。

在“捕获”阶段,Expressor使用编译命令将要分析的文档转换为其内部中间语言。分析阶段探索每个函数可能触发哪些错误条件。如果expert在分析方法或函数时遇到一些错误,它将停止运行有错误的方法或函数,但会继续分析其他方法和函数。下面的动画演示了脸谱推断在捕获和分析阶段的操作。

从程序执行的角度来看,Facebook的Infer有两种模式可以使用:全局模式和差分模式。当“推断”分析给定项目中的所有文件时,“推断”将在全局工作流下运行。对于使用Gradle编译的项目,可以使用以下语法运行推断的全局工作流:

推断运行梯度构建

当在增量构建的系统中应用推断时(这在移动应用程序中很常见),经常使用差异工作流。在这种情况下,我们首先需要运行Expense的“捕获”阶段来获取所有编译命令,然后使用- reactive参数来分析代码更改。

gradle clean

推断捕获梯度构建

1.《infer AI自动识别移动应用代码bug:详解Facebook Infer》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《infer AI自动识别移动应用代码bug:详解Facebook Infer》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1045142.html

上一篇

网友吃鱼肉鱼头里全是蛆 恶心至极!

下一篇

返工首日早高峰 目前是什么情况?

杭钢股份 硅谷天堂所投企业“杭钢股份”投资30亿元启动云计算数据中心项目

  • 杭钢股份 硅谷天堂所投企业“杭钢股份”投资30亿元启动云计算数据中心项目
  • 杭钢股份 硅谷天堂所投企业“杭钢股份”投资30亿元启动云计算数据中心项目
  • 杭钢股份 硅谷天堂所投企业“杭钢股份”投资30亿元启动云计算数据中心项目

一元购画刷爆朋友圈 该项目涉嫌“投资商欺骗行为”?

8月29日,8月29日,很多人的朋友圈被“儿童画廊”筛选。据了解,参与用户花一元钱买了一幅自闭症儿童的画,相当于捐给了腾讯公益平台上的公益项目“用艺术点亮生活”。 根据页面上的信息,“儿童画廊”中有36幅画,这些画的作者都...

优士阁 京中 | 各项目部团队风采展(下)

  • 优士阁 京中 | 各项目部团队风采展(下)
  • 优士阁 京中 | 各项目部团队风采展(下)
  • 优士阁 京中 | 各项目部团队风采展(下)

question2answer 女人在被分手后才意识到自己的错误,已经迟了...

Chapter 1  关键词:分手后恢复 主角:女性 问题 本人女,26岁,本科毕业,现在单身。男,27岁,大专毕业,现单身。 我去年见过他,当时我们在同一家公司工作。他的家庭很普通,离开家乡到大城市工作。 刚接触他的时候,我觉得他很冷漠,不适应群体,在人前很自卑。后来他被我活泼开朗的性格...

电脑应用程序错误怎么办 电脑经常弹出应用程序错误0xc0000142?云骑士告诉你怎么解决

  • 电脑应用程序错误怎么办 电脑经常弹出应用程序错误0xc0000142?云骑士告诉你怎么解决
  • 电脑应用程序错误怎么办 电脑经常弹出应用程序错误0xc0000142?云骑士告诉你怎么解决
  • 电脑应用程序错误怎么办 电脑经常弹出应用程序错误0xc0000142?云骑士告诉你怎么解决

队员 阅兵队员披露残酷选拔机制:一个错误可能被淘汰

  • 队员 阅兵队员披露残酷选拔机制:一个错误可能被淘汰
  • 队员 阅兵队员披露残酷选拔机制:一个错误可能被淘汰
  • 队员 阅兵队员披露残酷选拔机制:一个错误可能被淘汰

湖南华夏投资 湘西芙蓉镇要火!投资5亿的项目开工!

  • 湖南华夏投资 湘西芙蓉镇要火!投资5亿的项目开工!
  • 湖南华夏投资 湘西芙蓉镇要火!投资5亿的项目开工!
  • 湖南华夏投资 湘西芙蓉镇要火!投资5亿的项目开工!

山大回应学伴项目 真相到底是怎样的?

  • 山大回应学伴项目 真相到底是怎样的?
  • 山大回应学伴项目 真相到底是怎样的?
  • 山大回应学伴项目 真相到底是怎样的?