Tech bad-boy Uber crafts tool to make staff follow the rules in future (er, coding rules, that is)

Kneel before NEAL, devs

By Thomas Claburn in San Francisco


Despite its astonishing reputation for obliterating HR policy, resisting transit regulations and bending other laws, taxi scourge Uber is rather keen to keep its code clean and ensure it follows the rules.

Developers working for the ride app biz have created a software analysis tool called NEAL to enforce code quality, and have released it as an open source project.

NEAL stands for "Not Exactly A Linter," which may require some additional explanation.

A linter is software used to check source code for style errors, obvious programming bugs, and other cockups. The term dates back to a program called Lint, written in 1978 by Stephen C. Johnson of Bell Laboratories, to vet C code.

Compilers check for problems too, of course, but in addition to flagging errors, linters look for inefficiencies and stylistic anomalies that are nonetheless legal within the code's programming language.

Linters may support custom rules, which allow them to look for user-defined constructs; most are designed to work with a specific programming language but a few (e.g. coala) support multiple languages.

COP BLOCKED: Uber app thwarted arrests of its drivers by fooling police with 'ghost cars'


That's NEAL in a nutshell. In a blog post today, Uber software engineer Tadeu Zagallo describes the project as "an open source language-agnostic tool that allows engineers to write custom syntax-based rules."

Uber uses NEAL to ensure its Swift code meets corporate specs.

As Zagallo explained, reviewing changes to Uber's mobile app code can be slow because the company has a dozen engineering teams in different locations around the world.

With NEAL, Uber developers can make the code review process more automated and more consistent.

The result is more reliable code tests, the ability to limit binary size by preventing language constructs that generate lots of machine code, and the ability to enforce code restrictions and flow.

In addition to the Swift programming language, NEAL supports Python out of the box. It can also be extended to support other languages, but that's on you. ®

Sign up to our NewsletterGet IT in your inbox daily


More from The Register

Uber sued by Uber for tarnishing the good name of Uber

Can't we all just be Uber-alles?

France next up behind Britain, Netherlands to pummel Uber with €400k fine over 2016 breach

Dara and pals told to hand over yet another cash wodge for hack it spent $100k covering up

Uber fined £385k by ICO for THAT hack of 57m customers' deets

Updated 2.7 million Brits caught up in 'serious failure of data security' says UK data watchdog

Uber 'does not exist any more' says Turkish president

Authorities start rounding up ride share drivers, passengers

Sidecar drags itself out the grave, sues Uber for putting it there

Cab hailing app accuses rival of predatory prices and fake bookings

Until now, if Canadian Uber drivers wanted to battle the tech giant, they had to do it in the Netherlands – for real

Yes, taxi app biz has managed the impossible – angering the good folks of Canada

Uber to dole out $148m settlement among US states over breach it paid $100k to bury

Nice. Ride-hailing app firm also vows to comply with law

Uber v Waymo latest: Google spinoff refused access to Uber internal doc hunt details

Wall of silence remains, albeit with a couple of holes

Uber hid database hack from FTC while FTC probed Uber for an earlier database hack

Cab-hailing upstart shows it takes your privacy seriously

Uber JUMPs, slurps San Francisco bike biz

Nobody believes we're not a taxi company, let's go multi-modal and see if that works