Facebook removes C++ lint with new analysis tool

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

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 the newsletter!

Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection

Tags Development toolsapplication developmentsoftwareFacebook

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Joab Jackson

IDG News Service
Show Comments

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Ratchada Dunn

Sharp PN-40TC1 Huddle Board

The Huddle Board’s built in program; Sharp Touch Viewing software allows us to easily manipulate and edit our documents (jpegs and PDFs) all at the same time on the dashboard.

George Khoury

Sharp PN-40TC1 Huddle Board

The biggest perks for me would be that it comes with easy to use and comprehensive programs that make the collaboration process a whole lot more intuitive and organic

David Coyle

Brother PocketJet PJ-773 A4 Portable Thermal Printer

I rate the printer as a 5 out of 5 stars as it has been able to fit seamlessly into my busy and mobile lifestyle.

Kurt Hegetschweiler

Brother PocketJet PJ-773 A4 Portable Thermal Printer

It’s perfect for mobile workers. Just take it out — it’s small enough to sit anywhere — turn it on, load a sheet of paper, and start printing.

Matthew Stivala

HP OfficeJet 250 Mobile Printer

The HP OfficeJet 250 Mobile Printer is a great device that fits perfectly into my fast paced and mobile lifestyle. My first impression of the printer itself was how incredibly compact and sleek the device was.

Featured Content

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?