Paul Krill
Editor at Large

RacerD detects hard-to-find race conditions in Java code

news
Oct 19, 20172 mins

No longer a prototype, RacerD is part of the Infer static analysis platform

roborace barcelonas media daniel simon 02 large
Credit: Roborace

Facebook has begun offering broad access to RacerD, a tool intended to tackle the longstanding problem of race conditions in software.

RacerD had been available as a prototype, accessible in Facebook’s open source code base only through a series of backdoor options, said codeveloper Sam Blackshear, a Facebook research scientist. Now, the tool will run by default in Facebook’s open source Infer static analysis tool for bug detection. Initially, RacerD is available only for Java code. But plans call for expanding coverage to other languages, including C++.

With race conditions, overlapping processes trying to access the same data concurrently can cause conflicts in programs. These concurrency errors can be difficult to debug or even reproduce. “This has really been a hard problem” in computing for about 50 years, said Peter O’Hearn, a research scientist on the Infer team and co-author of RacerD.

RacerD was tested in production on Facebook’s News Feed application, where it stopped more than 1,000 bugs from making it into the production application, Facebook said. And RacerD let rogrammers could thousands of lines of code to accommodate concurrency.

Inspired by the theoretical foundation of concurrent separation logic, a mathematical theory developed by O’Hearn, RacerD offers new algorithmic techniques to code problems and potential consequences in systems before they run. Developers typically address detected race conditions by adding locks.

Accessible from Github via the Infer repository, Infer is offered under the BSD + Patents license, the same license that caused organizations such as the Apache Software Foundation to abandon Facebook’s React JavaScript library because of potential encumbrances of that license. In response to those objections, Facebook last month relicensed React under the more-palatable MIT license. Facebook is evaluating whether to change RacerD’s license as well.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author