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?

Uber 'does not exist any more' says Turkish president

Authorities start rounding up ride share drivers, passengers

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 hid database hack from FTC while FTC probed Uber for an earlier database hack

Cab-hailing upstart shows it takes your privacy seriously

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 JUMPs, slurps San Francisco bike biz

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

Cops: Autonomous Uber driver may have been streaming The Voice before death crash

Reports say she was watching reality TV at time of fatal impact

Will Dell eat VMware? Or will Carl Icahn snack on Dell? And where does Uber fit in? Yes, Uber!

Let’s get up to date on the crazy world of reverse mergers

Google is still chasing the self-driving engineer that jumped ship to Uber

And has just won a bizarre argument to let arbitrators read a public document

Uber jams Arizona robo-car project into reverse gear after deadly smash

Layoffs coming as taxi-app shuts up shop