Facebook: Your code sucks, and we don't even have to run it to tell

And if you want to know how we know, here's some code


Facebook has released the source code to Infer, its static analysis tool, under the open source BSD license.

Static analysis tools like Infer are used as a complement to traditional dynamic software testing by scanning the source code of software to spot trouble spots without actually executing the code.

In a Thursday blog post, Facebook's tools team said Infer is used internally at the social network to spot potential bugs in its mobile apps, which are used by more than a billion people.

"Each month, hundreds of potential bugs identified by Facebook Infer are fixed by our developers before they are committed to our codebases and deployed to people's phones," the team said. "This saves our developers many hours finding and fixing bugs, and results in better products for people."

Facebook writes apps for Android and iOS, and thus Infer works on both the Android flavor of Java and Objective-C. But Facebook's engineers think Infer could have value for developers who work in "plain" Java and C, too.

Infer isn't as comprehensive a static analysis tool as those offered by, say, Black Duck or Coverity. At present, it can spot null pointer exceptions and resource leaks in Android and Java code, and memory leak problems in iOS and C code.

Its chief advantage is speed. By applying the mathematical tools of separation logic and bi-abduction, Infer is able to spot problems whenever code is modified in a matter of minutes, even in programs that are built from millions of lines of code.

When it finds problems in code, it not only reports them but it also automatically adds comments to the code to alert developers to the issues.

Facebook says it's releasing Infer as an open source project now in hopes that community participation will help it advance the tool beyond its current state, which its engineers describe as "1 per cent finished."

"In program verification, certainly, a tremendous amount remains to be done," Facebook's dev team said. "But, with continued progress, we believe there is also much more value that can be unlocked for programmers. We look forward to a future in which, with your help, program verification technology can prove more and more useful in helping programmers develop reliable code, fast."

The source code for Infer is available on GitHub, here. ®

Similar topics


Other stories you might like

  • Prisons transcribe private phone calls with inmates using speech-to-text AI

    Plus: A drug designed by machine learning algorithms to treat liver disease reaches human clinical trials and more

    In brief Prisons around the US are installing AI speech-to-text models to automatically transcribe conversations with inmates during their phone calls.

    A series of contracts and emails from eight different states revealed how Verus, an AI application developed by LEO Technologies and based on a speech-to-text system offered by Amazon, was used to eavesdrop on prisoners’ phone calls.

    In a sales pitch, LEO’s CEO James Sexton told officials working for a jail in Cook County, Illinois, that one of its customers in Calhoun County, Alabama, uses the software to protect prisons from getting sued, according to an investigation by the Thomson Reuters Foundation.

    Continue reading
  • Battlefield 2042: Please don't be the death knell of the franchise, please don't be the death knell of the franchise

    Another terrible launch, but DICE is already working on improvements

    The RPG Greetings, traveller, and welcome back to The Register Plays Games, our monthly gaming column. Since the last edition on New World, we hit level cap and the "endgame". Around this time, item duping exploits became rife and every attempt Amazon Games made to fix it just broke something else. The post-level 60 "watermark" system for gear drops is also infuriating and tedious, but not something we were able to address in the column. So bear these things in mind if you were ever tempted. On that note, it's time to look at another newly released shit show – Battlefield 2042.

    I wanted to love Battlefield 2042, I really did. After the bum note of the first-person shooter (FPS) franchise's return to Second World War theatres with Battlefield V (2018), I stupidly assumed the next entry from EA-owned Swedish developer DICE would be a return to form. I was wrong.

    The multiplayer military FPS market is dominated by two forces: Activision's Call of Duty (COD) series and EA's Battlefield. Fans of each franchise are loyal to the point of zealotry with little crossover between player bases. Here's where I stand: COD jumped the shark with Modern Warfare 2 in 2009. It's flip-flopped from WW2 to present-day combat and back again, tried sci-fi, and even the Battle Royale trend with the free-to-play Call of Duty: Warzone (2020), which has been thoroughly ruined by hackers and developer inaction.

    Continue reading
  • American diplomats' iPhones reportedly compromised by NSO Group intrusion software

    Reuters claims nine State Department employees outside the US had their devices hacked

    The Apple iPhones of at least nine US State Department officials were compromised by an unidentified entity using NSO Group's Pegasus spyware, according to a report published Friday by Reuters.

    NSO Group in an email to The Register said it has blocked an unnamed customers' access to its system upon receiving an inquiry about the incident but has yet to confirm whether its software was involved.

    "Once the inquiry was received, and before any investigation under our compliance policy, we have decided to immediately terminate relevant customers’ access to the system, due to the severity of the allegations," an NSO spokesperson told The Register in an email. "To this point, we haven’t received any information nor the phone numbers, nor any indication that NSO’s tools were used in this case."

    Continue reading

Biting the hand that feeds IT © 1998–2021