Intel Open Sources AI Bug Checker
Written by Kay Ewbank   
Monday, 01 November 2021

Intel has made its AI-powered bug checker open source. ControlFlag uses machine learning and works with any programming language with control structures.

The tool was developed by Intel Labs’ Machine Programming Research (MPR) team. The developers say it uses advanced self-supervised machine-learning techniques to detect coding anomalies.


It has now been made open source and the team says they are:

"excited to give developers the opportunity to develop on it and see what more can be done using this extremely valuable and innovative technology."

Intel has tested ControlFlag on production-level software and widely used open-source software systems, and last year identified a code anomaly in Client URL (cURL), a computer software project transferring data using various network protocols over one billion times a day. After reporting the anomaly to the cURL team, they agreed with ControlFlag’s findings and have subsequently patched their code.

ControlFlag's pattern anomaly detection system can be used for various problems such as typographical error detection or flagging a missing NULL check. The software has two main phases, a pattern mining phase that is followed by a secondary phase where the software scans for anomalous patterns.

controlflag design

The pattern mining phase is a training phase that mines typical patterns in the user-provided GitHub repositories and then builds a decision-tree from the mined patterns. The scanning phase then applies the mined patterns to flag anomalous expressions in the user-specified target repositories.

In a paper presented to the Proceedings of the 5th ACM SIGPLAN International Symposium on Machine Programming describing the software, Niranjan Hasabnis and Justin Gottschlich of Intel Labs say that to their knowledge, the software is the first-of-its-kind self-supervised idiosyncratic programming pattern detection system. They also say that while they only demonstrate ControlFlag for C/C++, they have designed it to be programming language agnostic. As such, it should be capable of learning idiosyncratic signatures of any type of control structure. 


More Information

Paper Explaining ControlFlag

ControlFlag On GitHub

Related Articles

Intel Developing Data Parallel C++

ntel Open Sources NLP Architect  

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Advent Of Code 2023 Unlocked

December 1st is the day on which, each year, Eric Wastl opens a very special advent calendar. You don't get rewarded with chocolates in the Advent of Code - instead it's stars for solving coding puzzl [ ... ]

Leporello.js - The Next Gen JavaScript IDE

Leporello.js is an interactive functional programming IDE for JavaScript with debugging superpowers. Let's look at what makes it different from traditional IDEs.

More News




or email your comment to: