1 / 24

CEN 4072 Software Testing

CEN 4072 Software Testing. PPT8: Observing facts and tracking origins. PPT and video are due: no later than October 25, 5:00 PM Submit to: lpiegl@gmail.com This template file is just an outline of the presentation that you need to complete. Additional pages will

korman
Download Presentation

CEN 4072 Software Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CEN 4072 Software Testing PPT8: Observing facts and tracking origins PPT and video are due: no later than October 25, 5:00 PM Submit to: lpiegl@gmail.com This template file is just an outline of the presentation that you need to complete. Additional pages will be necessary to fully explore the topic above. Each page should contain adequate text as well as illustrations. You are free to use all publicly available information (text as well as graphics) as long as the sources are properly acknowledged.

  2. Team members’ contributions Member [name]: Member [name]: Member [name]: Member [name]:

  3. Principles of observation Content outline: • Do not interfere • Know what to observe • Proceed systematically

  4. Logging Content outline: • The practice of print-based logging • Print-based logging problems

  5. Logging Content outline: • Use standard formats • Make logging optional • Allow for variable granularity • Be persistent • Have specific macros

  6. Logging functions Content outline: • Use specific functions • Use macros • Examples

  7. Logging framework: LOG4J Content outline: • Explanation and example code

  8. Logging with aspects Content outline: • Aspects • Join points • Pointcuts

  9. Debuggers Content outline: • Execute and stop • Observe • Change

  10. Debugging with GDB Content outline: • Sample code and a simple debugging session

  11. Debugging with GDB Content outline: • Invoking functions in GDB

  12. Embedded debuggers Content outline: • Invoke an interpreter

  13. Breakpoints Content outline: • Data breakpoints • Conditional breakpoints

  14. COCA debugger Content outline: • Data queries • Time queries

  15. Tools Content outline: • LOG4J • ASPECTJ • GDB • DDD • eDOBS

  16. Omniscient debugging (ODB) Content outline: • Execute and record • Step back-and-forth in time • Can issue event queries • Pros and cons

  17. Dynamic slicing Content outline: • Program slice applied to a single run • Dynamic vs. static slice

  18. Example code 1 n = read(); 2 a = read(); 3 x = 1; 4 b = a + x; 5 a = a + 1; 6 i = 1; 7 s = 0; 8 while (i <= n) { 9 if (b > 0) 10 if (a > 1) 11 x = 2; 12 s = s + x; 13 i = i + 1; 14 } 15 write(s);

  19. Dynamic slice Content outline: • Steps to compute a dynamic slice

  20. Dynamic slice Content outline: • Analysis of the sample code: • Trace • Write • Read • Dynamic slice

  21. Whyline debugger Content outline: • Explanation and example

  22. Whyline debugger Content outline: • A debugging session using the code above

  23. Tracking infections Content outline: • Start with the infected value • Follow dependences • Observe origins • Infected? Sane?

  24. Tools Content outline: • ODB

More Related