Now released under the MIT license and available on GitHub, ControlFlag was designed to help reduce the time it takes to debug and improve the code quality.
“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,” writes Intel principal AI scientist Justin Gottschlich.
Gottschlich added that ControlFlag is self-evolving, and can make itself better with minimal manual effort as it is fed new data.
Tried and tested
To stress on the importance of a tool like ControlFlag, Gottschlich relied on studies that suggested that debugging code costs as much as half of a project’s total budget, and the industry as a whole spent around $2 trillion to debug software last year alone.
He then showed off the usefulness of ControlFlag by pointing to a couple of its wins on widely used open source, and production-level software.
For instance, last year, ControlFlag identified a code anomaly in the popular cURL open source library and tool, which was subsequently patched. Most recently, ControlFlag identified “hundreds of latent defects related to memory and potential system crash bugs” in a proprietary production-level software that Gottschlichdidn’t name.
He also added that ControlFlag has also been employed by various open source software repositories and has uncovered “dozens of novel anomalies.”
“Each anomaly, thus far, has been acknowledged as a real defect by the open-source maintainers and has since been corrected,” beams Gottschlich.