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.


Best USA Job For 2023 - Software Developer

Software Developer is again top of the U.S. News and World Report's annual best jobs rankings and while GlassDoor's Best Paces To Work 2023 includes lots of tech companies, Meta and Apple are not [ ... ]

GitHub Adds Required Workflows For Actions

GitHub has introduced required workflows and support for configuration variables for Actions. The update is designed to standardize and enforce CI/CD best practices, and give developers working for la [ ... ]

More News





or email your comment to: