How Code Fails in the Real World

By James Turner

No software survives contact with its users - no matter how well it’s tested during development, users will find strange behaviours and bugs. They may complain to you or even publicly about them, while struggling to give consistent information to track down the underlying causes.

In this talk, we’ll use the example of adding direct crash- and error- reporting to a large desktop application, and the lessons learned as a result: around cross-platform portability, user behaviour, driver bugs and of course straightforward coding issues. The lessons contained apply to any software that’s deployed widely, whether it be on end-user machines, embedded devices or in the data-center.

We’ll cover the development workflow changes needed to include reporting and symbol information during automated builds, and other potential code changes to collect better feedback; briefly consider the privacy implications around automated reporting, and look at how aggregate analysis over the entire user-base can drive decision making about releases and bug-fixes.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.