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.


Celebrating Alan Turing

Today, June 7th 2024 is the 70th anniversary of the untimely death of Alan Turing. While we now commemorate him for his contributions to code-breaking computer science and artificial intelligence, sev [ ... ]

Docker Reveals The Application Development Landscape

The 2024 Docker State of Application Development Report is intended to provide a "deep-focus snapshot of the rapidly evolving world of software development today". 

More News

C book



or email your comment to: