Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Devoxx - Bug Wars: Episode IV - A New Hope

109 views

Published on

Presentation from Devoxx UK 2018 by Martin Pinner and Ben Cripps talking about Java bugs and a new hope to finding and fixing them quicker.

Published in: Technology
  • Be the first to comment

Devoxx - Bug Wars: Episode IV - A New Hope

  1. 1. #BugWars @appperf Bug Wars: Episode IV – A New Hope Ben Cripps & Martin Pinner @appperf www.applicationperformance.com/blogs www.applicationperformance.com
  2. 2. Copyright © 2018 Application Performance Ltd. All rights reserved. EPISODE IV – A NEW HOPE
  3. 3. Copyright © 2018 Application Performance Ltd. All rights reserved. WHO ARE WE? Over 25 years experience in software development. He is a founder and director of Application Performance and WebTuna. He specialises in performance tuning and writing performance-monitoring software, particularly for web sites. Software consultant for Application Performance Ltd. Ben has a proven, 20 year development and management background, with experience of delivering, maintaining and managing high profile, high value branded solutions. Martin Pinner Ben Cripps
  4. 4. Copyright © 2018 Application Performance Ltd. All rights reserved. TIME SPENT FIXING BUGS IN 2017 ~215 ROUND TRIPS TO MARS! 268 YEARS EIGHT MONTHS 2 WEEKS, 3 DAYS 8 HOURS AND 46 MINUTES Sources: Tricentis – 2018 Software Fails Watch, Mars One - FAQ
  5. 5. Copyright © 2018 Application Performance Ltd. All rights reserved. WHAT IS THE COST OF A BUG? 1. Imagine a loan company having a bug. 2. This bug resulted in 60% of loans not being collected on time. What impact do you think it would have?
  6. 6. Copyright © 2018 Application Performance Ltd. All rights reserved. WELL, IT HAS HAPPENED BEFORE! 1. Bug introduced as part of a £21.6m department overhaul. 2. The bug cost £120 million in profit loss in 2017. 3. The company lost £1.7 billion in market capital in just one day. Sources: Tricentis – 2018 Software Fails Watch, The Register – Provident Financial Software Woes Share Price Crash TOTAL COST £1.8BILLION!
  7. 7. Copyright © 2018 Application Performance Ltd. All rights reserved. WILL HAPPEN AGAIN? Oh hang on…
  8. 8. Copyright © 2018 Application Performance Ltd. All rights reserved.
  9. 9. Copyright © 2018 Application Performance Ltd. All rights reserved. Looks Familiar?
  10. 10. Copyright © 2018 Application Performance Ltd. All rights reserved. DEVELOPER VISIBILITY
  11. 11. Copyright © 2018 Application Performance Ltd. All rights reserved. PRODUCTION VISIBILITY 1. Locked down environments. 2. Cannot see under the covers. 3. Real world users – unexpected usage patterns.
  12. 12. Copyright © 2018 Application Performance Ltd. All rights reserved. In production we have to rely on log files. Aren’t they the answer?
  13. 13. Copyright © 2018 Application Performance Ltd. All rights reserved. Sources: OverOps – Swallowed Exceptions: The Silent Killer of Java Applications How do we handle exceptions?1. SWALLOWED EXCEPTIONS: THE SILENT KILLER of catch blocks are empty! 2,943,327 2,394,629 3,067,863 3,608,309 900,806 0 500,000 1,000,000 1,500,000 2,000,000 2,500,000 3,000,000 3,500,000 4,000,000 LOG STATEMENTS PRINT STACK TRACE EMPTY BLOCK THROW EXCEPTIONS SYSTEM.OUT.PRINTLN Number of Instances 20%
  14. 14. Copyright © 2018 Application Performance Ltd. All rights reserved. Sources: https://blog.takipi.com/github-research-over-50-of-java-logging-statements-are-written-wrong/ How do we handle exceptions?2. INFO / TRACE / DEBUG LOGGING TURNED OFF of logs are switched off in production. 5% 30% 28% 14% 23% 0% Trace Info Debug Warn Error Fatal 2/3
  15. 15. Copyright © 2018 Application Performance Ltd. All rights reserved. How do we handle exceptions?3. VARIABLES NOT LOGGED of log messages do not have any variable state. Sources: https://blog.takipi.com/github-research-over-50-of-java-logging-statements-are-written-wrong/ 52% 34% 11% 3% 1% 1% 0 1 2 3 4 5+ 52%
  16. 16. Copyright © 2018 Application Performance Ltd. All rights reserved. Sources: https://blog.takipi.com/5-ways-developers-waste-more-than-20-of-their-work-week/ How do we handle exceptions?4. TOO MUCH TIME PRODUCTION DEBUGGING of developer time spent fixing bugs. 25%
  17. 17. Copyright © 2018 Application Performance Ltd. All rights reserved. WE’VE ALL BEEN THERE!
  18. 18. Copyright © 2018 Application Performance Ltd. All rights reserved. QUICK RECAP Despite best efforts, bugs can and will happen. Your chosen IDE provides the power to debug issues effectively. Production on other hand is typically locked down. Exception logging strategies are often lacking.
  19. 19. Copyright © 2018 Application Performance Ltd. All rights reserved. IMAGINE THIS VISIBILITY IN PRODUCTION…
  20. 20. Copyright © 2018 Application Performance Ltd. All rights reserved. WITH THIS LEVEL OF CATEGORISATION…
  21. 21. Copyright © 2018 Application Performance Ltd. All rights reserved. WANT TO KNOW MORE? • www.applicationperformance.com/overops • blog.applicationperformance.com/topic/overops WEBINAR 16th MAY: How to Accelerate Delivery of Reliable Software https://land.overops.com/webinar-java-jedi-powers/
  22. 22. Copyright © 2018 Application Performance Ltd. All rights reserved. COME SEE US ON STAND B4 Ask about our FREE eBook and Whitepaper

×