Intel's ControlFlag Debugging Tool Uses AI To Clean Up Code And It's Now Open Source

intelcf
In 2020 a study showed the IT industry spent an estimated $2 trillion in software development associated with debugging code. The study also showed that 50 percent of IT budgets were allocated to debugging code alone. Intel hopes to change those numbers by making its ControlFlag tool open-source.

ControlFlag is an AI-powered tool created by Intel to detect bugs within computer code using advanced self-supervised machine learning (ML). The software developed last year was able to locate hundreds of confirmed software defects in proprietary, production-quality software systems in just a few analyses of source code repositories. Its machine learning techniques enable it to find coding anomalies, reduce time spent debugging and improving the quality and security of systems autonomously.

Intel made the decision to make ControlFlag open-source to give developers the opportunity to see what they can do to advance this very valuable technology. ControlFlag is no stranger to being widely used on open-source software systems as it has been tested on production level software since its beginning.

Justin Gottschlich, Principal AI Scientist and the Director and Founder of Machine Programming Research at Intel Labs, gives an example of how the software has been used on his blog.

"ControlFlag identified a code anomaly in Client URL (cURL), a computer software project transferring data using various network protocols over one billion times a day," Gottschlich says.

intelcontrolflag

In its most recent usage, ControlFlag was able to identify hundreds of latent defects related to memory and possible system crash bugs in proprietary production-level software. It also found dozens of different anomalies on several high-quality open-source software repositories. So far, every anomaly has been recognized as an actual defect and has since been corrected.

"ControlFlag works with any programming language with control structures and utilizes the emerging concept of semi-trust to utilize self-supervised learning, enabling it to learn from unlabeled source code. As new data is introduced, it evolves to make itself better, it’s self-evolving and requires minimal manual effort," Gottschlich explains.

The intent of ControlFlag is to make software more robust and less cumbersome to maintain. It also aims to keep the software’s performance at a high level without introducing security vulnerabilities. As time is reduced in having to debug, the hope is that all the saved time will go to accelerating advancements in technology.

Perhaps game developers will jump at the opportunity to use this software now that is open-source and see what they can do to improve on their software. Gamers would no doubt love to see fewer bugs when a game launches and new features are added. The possibilities of ControlFlag seem endless right now.

If you are a software developer and would like to access the debugging tool, head over to the ControlFlag page on GitHub.