Software and Systems Diomidis Spinellis Department of Management - - PDF document

software and systems
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

15/6/2016 1

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

slide-2
SLIDE 2

15/6/2016 2

printk(KERN_WARNING "Dodgy doffset!\n");

— Linux: drivers/nubus/nubus.c

slide-3
SLIDE 3

15/6/2016 3

slide-4
SLIDE 4

15/6/2016 4

@CoolSWEng @CoolSWEng

slide-5
SLIDE 5

15/6/2016 5

@CoolSWEng

slide-6
SLIDE 6

15/6/2016 6

@CoolSWEng @CoolSWEng

slide-7
SLIDE 7

15/6/2016 7

comm -23 <( awk '/open\(/ {print $2}' t1 | sort) \ <( awk '/open\(/ {print $2}' t2 | sort)

@CoolSWEng

slide-8
SLIDE 8

15/6/2016 8

@CoolSWEng

slide-9
SLIDE 9

15/6/2016 9

@CoolSWEng @CoolSWEng

slide-10
SLIDE 10

15/6/2016 10

mvn -Dtest=TestFetch test

@CoolSWEng

slide-11
SLIDE 11

15/6/2016 11

slide-12
SLIDE 12

15/6/2016 12

@CoolSWEng @CoolSWEng

slide-13
SLIDE 13

15/6/2016 13

@CoolSWEng @CoolSWEng

slide-14
SLIDE 14

15/6/2016 14

@CoolSWEng

slide-15
SLIDE 15

15/6/2016 15

@CoolSWEng @CoolSWEng

slide-16
SLIDE 16

15/6/2016 16

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

slide-17
SLIDE 17

15/6/2016 17

@CoolSWEng @CoolSWEng

slide-18
SLIDE 18

15/6/2016 18

@CoolSWEng @CoolSWEng

slide-19
SLIDE 19

15/6/2016 19

@CoolSWEng

grep -r 'Dodgy doffset' grep -r ' / ' . | grep -v '/ sizeof'

slide-20
SLIDE 20

15/6/2016 20

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

slide-21
SLIDE 21

15/6/2016 21

@CoolSWEng @CoolSWEng

slide-22
SLIDE 22

15/6/2016 22

@CoolSWEng @CoolSWEng

slide-23
SLIDE 23

15/6/2016 23

@CoolSWEng @CoolSWEng

slide-24
SLIDE 24

15/6/2016 24

@CoolSWEng

“When two trains approach each

  • ther at a crossing, both shall

come to a full stop and neither shall start up again until the other has gone.”

slide-25
SLIDE 25

15/6/2016 25

@CoolSWEng @CoolSWEng

slide-26
SLIDE 26

15/6/2016 26

slide-27
SLIDE 27

15/6/2016 27

@CoolSWEng

slide-28
SLIDE 28

15/6/2016 28

@CoolSWEng @CoolSWEng

slide-29
SLIDE 29

15/6/2016 29

slide-30
SLIDE 30

15/6/2016 30

@CoolSWEng @CoolSWEng

slide-31
SLIDE 31

15/6/2016 31

@CoolSWEng @CoolSWEng

slide-32
SLIDE 32

15/6/2016 32

@CoolSWEng @CoolSWEng

slide-33
SLIDE 33

15/6/2016 33

@CoolSWEng @CoolSWEng

slide-34
SLIDE 34

15/6/2016 34

@CoolSWEng @CoolSWEng

slide-35
SLIDE 35

15/6/2016 35

@CoolSWEng @CoolSWEng

slide-36
SLIDE 36

15/6/2016 36

@CoolSWEng @CoolSWEng

slide-37
SLIDE 37

15/6/2016 37

@CoolSWEng @CoolSWEng

slide-38
SLIDE 38

15/6/2016 38

@CoolSWEng @CoolSWEng

slide-39
SLIDE 39

15/6/2016 39

@CoolSWEng @CoolSWEng

slide-40
SLIDE 40

15/6/2016 40

@CoolSWEng @CoolSWEng

slide-41
SLIDE 41

15/6/2016 41

@CoolSWEng @CoolSWEng

slide-42
SLIDE 42

15/6/2016 42

@CoolSWEng @CoolSWEng

slide-43
SLIDE 43

15/6/2016 43

@CoolSWEng @CoolSWEng

slide-44
SLIDE 44

15/6/2016 44

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
slide-45
SLIDE 45

15/6/2016 45

Image credits

  • Server rack: Jfreyre; CC BY-SA 3.0
  • Engage: InnovateOSU; CC BY 2.0
  • Winpdb: Nir Aides; CC BY-SA 3.0
  • Serial killer: Thomas Hawk; CC BY-NC 2.0
  • O RLY? covers: @ThePracticalDev
  • Drill: Palmer, Alfred T.; PD
  • Twin statues: The Children's Museum of Indianapolis; CC BY-

SA 3.0

  • Sleeping: Andrew Roberts; CC BY 2.0
  • Wootton Bridge after the crash: PD
  • The Rubber Duck: Francisco Martins; CC BY-NC 2.0
  • Fuse: Razor512; CC BY 2.0
  • K&R on a PDP11: Peter Hamer; CC BY-SA 2.0
  • Core memory: Bubba73 (Jud McCranie); CC BY-SA 4.0
  • Three Monitors: Mike Shoup; CC BY-NC 2.0
  • Leviathan Dismantled: Cameron Grant; CC BY-NC-SA 2.0
  • Marzipan Dolls: Alan; CC BY 2.0
  • "Working": chris riebschlager; CC BY-NC 2.0
  • Router debugging: Speshul Ted; CC BY-NC-SA 2.0
  • Tuning: Kalle Hyttinen; CC BY-NC 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-

NC-SA 2.0

  • Electronic cityscape: kerolic; CC BY-NC-SA 2.0
  • Deadlock: Ercument Sener; CC BY-NC-SA 2.0
  • Editing with reel to reel tape: Jonathan Marks; CC BY-NC-SA

2.0

  • Tricking: Zirklerankes galerija; CC BY-NC-SA 2.0
  • Control Room Panel: Jonathan Haeber; CC BY-NC 2.0
  • Illness: Liz Wade; CC BY-NC 2.0
  • Kinemetrics seismograph: Yamaguchi; CC BY-SA 3.0
  • Balance: M Cheung; CC BY-NC 2.0
  • Meat grinder: ppank_l; CC BY-NC-SA 2.0
  • Iceberg: Uwe Kils (iceberg) and Wiska Bodo (sky); CC BY-SA

3.0

  • Decaying threshing machine: Neil Howard ; CC BY-NC 2.0
  • Boeing: Jennifer Reitz/Boeing
  • Nairobi Forest Preserve: Aaron Knox; CC BY-NC-SA 2.0
  • Gource visualization: Landon Wilkins
  • cat & dog: b1ue5ky; CC BY-NC-SA 2.0
  • Business Round Table: Juerg Stuker; CC BY-NC 2.0
  • Belay setup: Oliver Frank; CC BY-NC-SA 2.0
  • Mr . Happy Hat: Nick Kenrick (texture by Joes sistah); CC BY-

NC-SA 2.0

  • Small-Big: J-Ron North ; CC BY-NC_SA 2.0
  • License links: CC BY 2.0 , CC BY-SA 2.0 , CC BY-SA 3.0 , CC BY-

SA 4.0, CC BY-NC 2.0 , CC BY-NC-SA 2.0