Facebook removes C++ lint with new analysis tool

Facebook has open sourced its Flint static analysis tool, which supports the latest version of C++

By , IDG News Service |  Software

Facebook has released as open source a code analyzer tool, typically called a linter, that can work with the latest version of the C++ language, C++11.

The internally developed debugger, called Flint, may be of interest to other programmers because many similar open-source lint tools haven't been upgraded to work with C++11 yet, according to Facebook.

Noted C++ programmer Andrei Alexandrescu, now working at Facebook, built the tool for internal use.

A lint program typically scans software code to look for issues that a compiler does not catch, a process called static code analysis. Linters can be handy for enforcing organizational best practices in code development, or to look for code patterns that could cause security or performance issues.

Although there are a number of static analysis programs already available for C++, Facebook found them mostly unsuitable for its own needs. Many were too slow or weren't updated to understand C++11, which Facebook is in the process of adopting. Flint reviews code and flags any potential issues in Facebook's code review system, called Phabricator.

Flint can check for issues such as the use of outdated libraries, or keywords that have already been reserved for other uses within a system. It can catch subtle programming errors that a compiler would miss, such as an incorrectly formatted memory request. It can assure that headers are formatted correctly. It can also check for conflicting namespace directives.

Alexandrescu wrote Flint using a programming language similar to C++ he helped develop, called D. As a result, Flint compiles fives times as fast as an equivalent program in C++, and it runs anywhere from 5 percent to 25 percent faster as well.

Flint is one of a number of tools Facebook developed internally and later released as open source. Other recent releases include the Presto query engine and a PHP virtual machine called HipHop.

Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at @Joab_Jackson. Joab's e-mail address is Joab_Jackson@idg.com

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Answers - Powered by ITworld

ITworld Answers helps you solve problems and share expertise. Ask a question or take a crack at answering the new questions below.

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Ask a Question