Feeds

Boffins untangle why your software builds fail

Dependency hell by-the-numbers

Boost IT visibility and business value

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

The essential guide to IT transformation

More from The Register

next story
Munich considers dumping Linux for ... GULP ... Windows!
Give a penguinista a hug, the Outlook's not good for open source's poster child
The Return of BSOD: Does ANYONE trust Microsoft patches?
Sysadmins, you're either fighting fires or seen as incompetents now
Intel's Raspberry Pi rival Galileo can now run Windows
Behold the Internet of Things. Wintel Things
Microsoft cries UNINSTALL in the wake of Blue Screens of Death™
Cache crash causes contained choloric calamity
Eat up Martha! Microsoft slings handwriting recog into OneNote on Android
Freehand input on non-Windows kit for the first time
Linux kernel devs made to finger their dongles before contributing code
Two-factor auth enabled for Kernel.org repositories
prev story

Whitepapers

5 things you didn’t know about cloud backup
IT departments are embracing cloud backup, but there’s a lot you need to know before choosing a service provider. Learn all the critical things you need to know.
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.
Build a business case: developing custom apps
Learn how to maximize the value of custom applications by accelerating and simplifying their development.
Rethinking backup and recovery in the modern data center
Combining intelligence, operational analytics, and automation to enable efficient, data-driven IT organizations using the HP ABR approach.
Next gen security for virtualised datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.