CSE410 aka CSE306 Software Quality Dr. Carl Alphonce - - PowerPoint PPT Presentation

cse410 aka cse306 software quality
SMART_READER_LITE
LIVE PREVIEW

CSE410 aka CSE306 Software Quality Dr. Carl Alphonce - - PowerPoint PPT Presentation

CSE410 aka CSE306 Software Quality Dr. Carl Alphonce alphonce@buffalo.edu 343 Davis Hall http:/ /www.cse.buffalo.edu/faculty/alphonce/SP17 /CSE410 https:/ /piazza.com/class/iybn33z3aro2p Grading status Grading In Grading Not yet


slide-1
SLIDE 1

CSE410 aka CSE306 Software Quality

  • Dr. Carl Alphonce

alphonce@buffalo.edu 343 Davis Hall

http:/ /www.cse.buffalo.edu/faculty/alphonce/SP17 /CSE410 https:/ /piazza.com/class/iybn33z3aro2p

slide-2
SLIDE 2

Grading status

Grading Completed LEX01 LEX02 LEX03 Grading In Progress PRE EXP1 Grading On Deck LEX04 LEX05 Not yet submitted: Coming Up LEX06 EXP2

slide-3
SLIDE 3

Advice

Study rubric used for PRE and EXP1 Work to score 'PROFICIENT' on all items in preparation for Lab Practical Exam

slide-4
SLIDE 4

EXP2: I am engineering bugs into code. EXP3: May take advantage of your submitted CSE250 projects. EXP4 (if we do it): May return to an open source project.

slide-5
SLIDE 5

Tool Review C focus

compiler gdb CUnit gcov gprof / valgrind: callgrind valgrind: memcheck git make

slide-6
SLIDE 6

Tools for Java?

slide-7
SLIDE 7

A tale of three debuggers

jdb Eclipse debugger Jive

slide-8
SLIDE 8

jdb

% javac -g ex1/Driver.java % jdb ex1.Driver 8

slide-9
SLIDE 9

> run run ex1.Driver 8 Set uncaught java.lang.Throwable Set deferred uncaught java.lang.Throwable > VM Started: Set deferred breakpoint ex1.Driver.factorial 0: 8 Breakpoint hit: "thread=main", ex1.Driver.factorial(), line=11 bci=0 11 int result = 1; main[1] locals Method arguments: n = 8 Local variables:

slide-10
SLIDE 10

main[1] list 7 8 public class Driver { 9 10 private static int factorial(int n) { 11 => int result = 1; 12 if (n==0) { 13 return result; 14 } 15 result = factorial(n-1) * n; 16 return result; main[1] stop Breakpoints set: breakpoint ex1.Driver.factorial main[1] step > Step completed: "thread=main", ex1.Driver.factorial(), line=12 bci=2 12 if (n==0) { main[1] locals Method arguments: n = 8 Local variables: result = 1

slide-11
SLIDE 11

http:/ /docs.oracle.com/javase/7 /docs/ technotes/tools/share/jvisualvm.html https:/ /wiki.openjdk.java.net/display/ CodeTools/jcov