Feeds

Boffins untangle why your software builds fail

Dependency hell by-the-numbers

Securing Web Applications Made Simple and Scalable

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. ®

Bridging the IT gap between rising business demands and ageing tools

More from The Register

next story
KDE releases ice-cream coloured Plasma 5 just in time for summer
Melty but refreshing - popular rival to Mint's Cinnamon's still a work in progress
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
Secure microkernel that uses maths to be 'bug free' goes open source
Hacker-repelling, drone-protecting code will soon be yours to tweak as you see fit
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
Put down that Oracle database patch: It could cost $23,000 per CPU
On-by-default INMEMORY tech a boon for developers ... as long as they can afford it
Another day, another Firefox: Version 31 is upon us ALREADY
Web devs, Mozilla really wants you to like this one
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
prev story

Whitepapers

Designing a Defense for Mobile Applications
Learn about the various considerations for defending mobile applications - from the application architecture itself to the myriad testing technologies.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Top 8 considerations to enable and simplify mobility
In this whitepaper learn how to successfully add mobile capabilities simply and cost effectively.
Seven Steps to Software Security
Seven practical steps you can begin to take today to secure your applications and prevent the damages a successful cyber-attack can cause.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.