laitimes

AI helps find bugs, Intel's open source programming tool ControlFlag

author:CSDN

Organize | Sun Sheng

Exhibiting | CSDN(ID:CSDNnews)

Recently, Intel open-sourced the controlFlag source code for the automatic code debugging tool, and the ControlFlag source code is now available through GitHub.

It is understood that ControlFlag can be used to help more developers detect code errors independently, mainly using AI to automatically identify errors in software and firmware code, saving manual debugging time for developers.

It is reported that Intel first announced ControlFlag at the end of last year, and the system is currently used only by Intel internal personnel to automatically detect abnormal conditions in the software development process.

AI helps find bugs, Intel's open source programming tool ControlFlag

Sourced from the web

AI helps find bugs, Intel's open source programming tool ControlFlag

Reduce code debugging time and costs

Because code debugging is essential for program development, almost all large pieces of software need to be debugged to minimize software errors.

But for the vast majority of developers, not only is this process time-consuming, but most debugging can only be done manually. Because fixing a software defect can take days, weeks, or even months, it's estimated that as much as 50 percent of software development time is wasted debugging programs. This is because most errors require semantic analysis to identify and evaluate the root cause, which even state-of-the-art debugging systems cannot perform effectively.

Justin Gottschlich, chief AI scientist at Intel Labs, also said: "Despite some progress in researching automated debugging over the past few decades, existing tools still fail to spot increasingly complex software errors perfectly. This is also a key reason why commissioning is still primarily human-driven. ”

In addition to this, the budget expenditure for debugging code is also high. According to Intel officials, in 2020, the IT industry spent about $2 trillion on debugging code, accounting for about half of the average IT budget.

AI helps find bugs, Intel's open source programming tool ControlFlag

"Super-powerful" ControlFlag

The system is part of Intel's Machine Programming Research (MPR) project, whose overall goal is to reduce the time it takes to develop software by a factor of 1,000 through automation. For example, one of the areas that Gottschlich's team is working on is eventually extending ControlFlag's capabilities to automatically fix errors it detects.

Since its launch last year, Intel has tested the machine learning tool on a variety of software systems with promising results. "When we first designed the system, we didn't expect it to find highly complex flaws," said Justin Gottschlich, chief AI scientist at Intel Labs. "However, given its self-supervised design, ControlFlag was able to spot highly complex, subtle software flaws that even those of us who built it were shocked."

Intel's team uses an "unsupervised" approach to learning to allow ControlFlag to detect errors in a wider repository. The system learns coding patterns from more than 1 billion lines of unlabeled source code, enabling it to achieve high accuracy and even adapt to the style of developers to distinguish between software exceptions and style changes in programming languages.

ControlFlag works with any programming language that includes control structures (such as C/C++), and ControlFlag is able to continuously learn from unlabeled source code, "evolving" as new data is introduced, making itself better. While it doesn't automatically resolve the code errors it finds, the tool can suggest potential modifications for developers.

Justin Gottschlich also said that using ControlFlag on only two proprietary software repositories so far, more than 300 defects in production-quality, deployed programs have been found. Last year, for example, ControlFlag detected code anomalies in a computer software project called Client URL (cURL), which transmits data more than 1 billion times a day using various network protocols. After reporting the exception to the cURL team, they agreed with ControlFlag's discovery and redesigned the code to patch the problem.

AI helps find bugs, Intel's open source programming tool ControlFlag

Ever-improving ControlFlag

As the Intel team worked on ControlFlag, the past year has also brought quite a bit of learning points. Gottschlich believes that the two key areas for improvement are reducing the number of false positives reported by the tool and integrating a more advanced semantic analyzer into ControlFlag's reasoning.

However, as a system that will become part of Intel's suite of machine programming tools, ControlFlag will continue to evolve. "Progress in ControlFlag is unlikely to stop," Gottschlich stressed. "This is mainly because as software programming languages, hardware description languages, and computing devices evolve, ControlFlag also needs to evolve to keep up with them."

Meanwhile, Intel's MPR team is working on a number of projects focused on simplifying software development. Last year, for example, the company also released a tool developed in conjunction with the MIT lab that can study code snippets to understand what the software intends to do. The system, called MISIM (Machine Inference Code Similarity), uses pre-existing code catalogs to understand the intent behind new algorithms and helps engineers develop software by suggesting alternative programming methods or providing options to make code more efficient.

Gottschlich expects MISIM to one day work with ControlFlag. "When the right ideas come together, we envision a new, more robust system that will be able to detect all the defects that ControlFlag can currently detect, as well as hundreds of defects that are currently undetectable due to potential complexity." Gottschlich said.

What do you think about this, welcome to leave a comment.

Reference links: https://www.zdnet.com/article/developers-intels-automated-debugging-tool-controlflag-is-now-open-source/

GitHub Address: https://github.com/IntelLabs/control-flag

AI helps find bugs, Intel's open source programming tool ControlFlag

Read on