software and systems

Software and Systems Diomidis Spinellis Department of Management - PDF document

15/6/2016 Remove and Prevent: Dealing with Bugs in Software and Systems Diomidis Spinellis Department of Management Science and Technology Athens University of Economics and Business www.spinellis.gr dds@aueb.gr @CoolSWEng 1 15/6/2016


  1. 15/6/2016 Remove and Prevent: Dealing with Bugs in Software and Systems Diomidis Spinellis Department of Management Science and Technology Athens University of Economics and Business www.spinellis.gr dds@aueb.gr @CoolSWEng 1

  2. 15/6/2016 printk(KERN_WARNING "Dodgy doffset!\n"); — Linux: drivers/nubus/nubus.c 2

  3. 15/6/2016 3

  4. 15/6/2016 4 @CoolSWEng @CoolSWEng

  5. 15/6/2016 @CoolSWEng 5

  6. 15/6/2016 6 @CoolSWEng @CoolSWEng

  7. 15/6/2016 comm -23 <( awk '/open\(/ {print $2}' t1 | sort) \ <( awk '/open\(/ {print $2}' t2 | sort) @CoolSWEng 7

  8. 15/6/2016 @CoolSWEng 8

  9. 15/6/2016 9 @CoolSWEng @CoolSWEng

  10. 15/6/2016 mvn -Dtest=TestFetch test @CoolSWEng 10

  11. 15/6/2016 11

  12. 15/6/2016 12 @CoolSWEng @CoolSWEng

  13. 15/6/2016 13 @CoolSWEng @CoolSWEng

  14. 15/6/2016 @CoolSWEng 14

  15. 15/6/2016 15 @CoolSWEng @CoolSWEng

  16. 15/6/2016 # Obtain path echo $PATH | # Split the into lines sed 's/:/\n/g' | # For each line (path element) while read path ; do # Time it PATH=$path:/usr/bin/time -f "%e $path" which ls >/dev/null done 0.01 /usr/local/bin 0.01 /cygdrive/c/ProgramData/Oracle/Jav a/javapath 0.01 /cygdrive/c/Python33 4.55 / 0.02 /cygdrive/c/usr/local/bin 0.01 /usr/bin 0.01 /cygdrive/c/usr/bin 0.01 /cygdrive/c/Windows/system32 0.01 /cygdrive/c/Windows 0.01 . 16

  17. 15/6/2016 17 @CoolSWEng @CoolSWEng

  18. 15/6/2016 18 @CoolSWEng @CoolSWEng

  19. 15/6/2016 @CoolSWEng grep -r 'Dodgy doffset' grep -r ' / ' . | grep -v '/ sizeof' 19

  20. 15/6/2016 program 2>&1 | grep Fail sudo tail – F /var/log/maillog long-running-regression-test ; \ printf '\a' sudo tail -F /var/log/secure | fgrep -q 'Invalid user' ; \ printf '\a' sudo tail -F /var/log/secure | fgrep -m 1 'Invalid user' | mail -s Intrusion jdh@example.com 20

  21. 15/6/2016 21 @CoolSWEng @CoolSWEng

  22. 15/6/2016 22 @CoolSWEng @CoolSWEng

  23. 15/6/2016 23 @CoolSWEng @CoolSWEng

  24. 15/6/2016 @CoolSWEng “When two trains approach each other at a crossing, both shall come to a full stop and neither shall start up again until the other has gone .” 24

  25. 15/6/2016 25 @CoolSWEng @CoolSWEng

  26. 15/6/2016 26

  27. 15/6/2016 @CoolSWEng 27

  28. 15/6/2016 28 @CoolSWEng @CoolSWEng

  29. 15/6/2016 29

  30. 15/6/2016 30 @CoolSWEng @CoolSWEng

  31. 15/6/2016 31 @CoolSWEng @CoolSWEng

  32. 15/6/2016 32 @CoolSWEng @CoolSWEng

  33. 15/6/2016 33 @CoolSWEng @CoolSWEng

  34. 15/6/2016 34 @CoolSWEng @CoolSWEng

  35. 15/6/2016 35 @CoolSWEng @CoolSWEng

  36. 15/6/2016 36 @CoolSWEng @CoolSWEng

  37. 15/6/2016 37 @CoolSWEng @CoolSWEng

  38. 15/6/2016 38 @CoolSWEng @CoolSWEng

  39. 15/6/2016 39 @CoolSWEng @CoolSWEng

  40. 15/6/2016 40 @CoolSWEng @CoolSWEng

  41. 15/6/2016 41 @CoolSWEng @CoolSWEng

  42. 15/6/2016 42 @CoolSWEng @CoolSWEng

  43. 15/6/2016 43 @CoolSWEng @CoolSWEng

  44. 15/6/2016 Thank you! dds@aueb.gr www.spinellis.gr @CoolSWEng github.com/dspinellis Pre-Order Ebook and Save 35% INFORMIT.COM Use code EFFDEBUG35 eBook files include PDF, EPUB, and MOBI 66 step-by-step techniques address every facet of debugging, including: • Building an effective debugging environment • Tracking issues and reproducing problems • Stepping through code, adding breakpoints, and using call stacks • Optimizing and automating debugging workflows • More 44

  45. 15/6/2016 Image credits • • Server rack: Jfreyre; CC BY-SA 3.0 Deadlock: Ercument Sener; CC BY-NC-SA 2.0 • • Engage: InnovateOSU; CC BY 2.0 Editing with reel to reel tape: Jonathan Marks; CC BY-NC-SA • 2.0 Winpdb: Nir Aides; CC BY-SA 3.0 • • Tricking: Zirklerankes galerija; CC BY-NC-SA 2.0 Serial killer: Thomas Hawk; CC BY-NC 2.0 • Control Room Panel: Jonathan Haeber; CC BY-NC 2.0 • O RLY? covers: @ThePracticalDev • • Illness: Liz Wade; CC BY-NC 2.0 Drill: Palmer, Alfred T.; PD • Kinemetrics seismograph: Yamaguchi; CC BY-SA 3.0 • Twin statues: The Children's Museum of Indianapolis; CC BY- • SA 3.0 Balance: M Cheung; CC BY-NC 2.0 • • Sleeping: Andrew Roberts; CC BY 2.0 Meat grinder: ppank_l; CC BY-NC-SA 2.0 • • Wootton Bridge after the crash: PD Iceberg: Uwe Kils (iceberg) and Wiska Bodo (sky); CC BY-SA 3.0 • The Rubber Duck: Francisco Martins; CC BY-NC 2.0 • • Decaying threshing machine: Neil Howard ; CC BY-NC 2.0 Fuse: Razor512; CC BY 2.0 • • Boeing: Jennifer Reitz/Boeing K&R on a PDP11: Peter Hamer; CC BY-SA 2.0 • Nairobi Forest Preserve: Aaron Knox; CC BY-NC-SA 2.0 • Core memory: Bubba73 (Jud McCranie); CC BY-SA 4.0 • • Gource visualization: Landon Wilkins Three Monitors: Mike Shoup; CC BY-NC 2.0 • cat & dog: b1ue5ky; CC BY-NC-SA 2.0 • Leviathan Dismantled: Cameron Grant; CC BY-NC-SA 2.0 • • Business Round Table: Juerg Stuker; CC BY-NC 2.0 Marzipan Dolls: Alan; CC BY 2.0 • • Belay setup: Oliver Frank; CC BY-NC-SA 2.0 "Working": chris riebschlager; CC BY-NC 2.0 • Mr . Happy Hat: Nick Kenrick (texture by Joes sistah); CC BY- • Router debugging: Speshul Ted; CC BY-NC-SA 2.0 NC-SA 2.0 • Tuning: Kalle Hyttinen; CC BY-NC 2.0 • Small-Big: J-Ron North ; CC BY-NC_SA 2.0 • Program Listing: Scott Schiller; CC BY-NC 2.0 • Reverse: Catalina Olavarria; CC BY-NC-SA 2.0 • New Yorkers like to check out the scene: Ed Yourdon! CC BY- • License links: CC BY 2.0 , CC BY-SA 2.0 , CC BY-SA 3.0 , CC BY- NC-SA 2.0 SA 4.0, CC BY-NC 2.0 , CC BY-NC-SA 2.0 • Electronic cityscape: kerolic; CC BY-NC-SA 2.0 45

Recommend


More recommend