flag是什么意思c语言(flag是什么意思c语言视频)

11 月 19 日,由英特尔实验室开发的 ControlFlag 发布了 1.0 版本,ControlFlag 通过人工智能和超过 10 亿行代码的训练结合,可以做到自动扫描存储库的源代码中的错误,英特尔已经将它应用到软件和硬件的生产。

ControlFlag 是一个自监督的特殊模式检测系统,就是通过从开源的存储库(在 GitHub 和其他 Git 平台)挖掘经典模式来学习高级编程语言(如 C/C++)的控制结构(if 等),然后用学到的经典结构来检测用户自己代码的异常情况。目前 ControlFlag 已经学习了 6000+ 个 Github 存储库

(简单来说就是去别人那学习 C 语言的代码到底该怎么写,学完了就回来看看自己的代码有没有哪里写错了。)

下图显示了 ControlFlag 的两个运行阶段:模式挖掘阶段(到处学习)和扫描异常模式阶段(检查自己代码)。模式挖掘阶段是一个“训练阶段”,根据用户提供的 GitHub 存储库中的典型控制结构来建立决策树。然后到扫描异常的阶段会用前面训练出来的决策树来标查找用户自己 Git 库里面异常的代码表达式。

ControlFlag 1.0 版本的发布意味着已经全面支持学习 C 程序(不过按更新公告的意思,现在只能学 if 条件语句相关的 C 语言结构)和异常推断功能。

依赖项

  • CMake 3.4.3 或以上
  • 兼容 C++17 的编译器
  • Tree-sitter 解析器(会作为 cmake 的一部分自动下载)
  • GNU parallel(可选,如果你想生成训练数据)