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

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

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.

IDG Insider

PREVIOUS ARTICLE

«How to get a cutting-edge web browser

NEXT ARTICLE

OnePlus 5T Rumours: Release Date, Price, Features & Specifications»
author_image
IDG Connect

IDG Connect tackles the tech stories that matter to you

Add Your Comment

Most Recent Comments

Our Case Studies

IDG Connect delivers full creative solutions to meet all your demand generatlon needs. These cover the full scope of options, from customized content and lead delivery through to fully integrated campaigns.

images

Our Marketing Research

Our in-house analyst and editorial team create a range of insights for the global marketing community. These look at IT buying preferences, the latest soclal media trends and other zeitgeist topics.

images

Poll

Will Kotlin overtake Java as the most popular Android programming language in 2018?