Feeds

Boffins untangle why your software builds fail

Dependency hell by-the-numbers

Internet Security Threat Report 2014

Dependency errors aren't just the bane of Linux users living the configure-make-install life: they also have a significant impact on developer productivity that could be dealt with in the tools developers use.

That's one of the conclusions arising out of a new analysis, carried out by researchers from Hong Kong, the University of Nebraska, and Google (which contributed nine months' of build data from thousands of developers to the study).

With 26 million builds as a dataset, Google is in a better position than most to help work out what lies beneath a failed job, and in this analysis, lead author Hyunmin Seo of the Hong Kong University of Science and Technology and his co-authors conclude that the same dependency hell that any Linux user will know well drives build fails all over the world.

The paper states that in Java builds, dependency errors accounted for about 65 per cent of build failures, and a little over half of C++ builds; type mismatches (“a variable is assigned to an incompatible type or when a function is called with wrong argument types”) caused more than 25 per cent of failed C++ builds and nearly 20 per cent of failed Java builds; with syntax, semantic, and other errors making up the rest of the failed builds.

Most of the time – Vulture South would guess this party depends on a developer's experience – build errors can be resolved fairly quickly, with the paper finding that the median resolution times were 5 minutes (C++) and 12 minutes (Java). However, the resolution time “can vary by an order of magnitude across error kinds”, which has important implications for developer productivity.

Discussing the impact of the kind of error on the fix-time, the authors note: “some compiler errors show a higher median resolution time as they are more difficult to puzzle out (non_virtual_dtor, ovl_no_viable_function_in_init, typecheck_nonviable_condition, or typename_nested_not_found), or else may take time to track down the missing dependency (pp_file_not_found).”

Fixing errors – and improving developer productivity – isn't too steep a demand, the paper finds, since no matter the language, around 10 per cent of error types accounted for 90 per cent of build fails. Hence, “better tools to resolve de-pendency errors have the greatest potential payoff”, the paper states, noting that Google is already briefing its infrastructure organisation on the subject. ®

Security for virtualized datacentres

More from The Register

next story
Microsoft WINDOWS 10: Seven ATE Nine. Or Eight did really
Windows NEIN skipped, tech preview due out on Wednesday
Business is back, baby! Hasta la VISTA, Win 8... Oh, yeah, Windows 9
Forget touchscreen millennials, Microsoft goes for mouse crowd
Apple: SO sorry for the iOS 8.0.1 UPDATE BUNGLE HORROR
Apple kills 'upgrade'. Hey, Microsoft. You sure you want to be like these guys?
ARM gives Internet of Things a piece of its mind – the Cortex-M7
32-bit core packs some DSP for VIP IoT CPU LOL
Microsoft on the Threshold of a new name for Windows next week
Rebranded OS reportedly set to be flung open by Redmond
Lotus Notes inventor Ozzie invents app to talk to people on your phone
Imagine that. Startup floats with voice collab app for Win iPhone
prev story

Whitepapers

Forging a new future with identity relationship management
Learn about ForgeRock's next generation IRM platform and how it is designed to empower CEOS's and enterprises to engage with consumers.
Storage capacity and performance optimization at Mizuno USA
Mizuno USA turn to Tegile storage technology to solve both their SAN and backup issues.
The next step in data security
With recent increased privacy concerns and computers becoming more powerful, the chance of hackers being able to crack smaller-sized RSA keys increases.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.
A strategic approach to identity relationship management
ForgeRock commissioned Forrester to evaluate companies’ IAM practices and requirements when it comes to customer-facing scenarios versus employee-facing ones.