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.
SherLog: Error Diagnosis by Connecting Clues from                  Run-time Logs                Dacong (Tony) Yan         ...
Introduction            Scenario - production run failure                   failure reproduction: reproduce the failed exe...
Introduction            Scenario - production run failure                   failure reproduction: reproduce the failed exe...
Introduction            Scenario - production run failure                   failure reproduction: reproduce the failed exe...
Introduction            Scenario - production run failure                   failure reproduction: reproduce the failed exe...
Approach            Idea                   Ideal Goal: find out what exactly happened in the failure execution,            ...
Approach            Idea                   Ideal Goal: find out what exactly happened in the failure execution,            ...
Approach            Idea                   Ideal Goal: find out what exactly happened in the failure execution,            ...
Design     Three main components:            Log Parsing: locates the source code lines printing the messages            P...
Design     Three main components:            Log Parsing: locates the source code lines printing the messages            P...
Evaluation
Evaluation            Methodology                   manually reproduce and diagnose the failure                   collect ...
Experimental Results
Overall ResultsCSE 888, Dacong (Tony) Yan   SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   9/13
Case Studies     Three case studies to demonstrate the effectiveness of SherLog:            Case 1: ln of coreutils 4.5.1  ...
Squid Case StudyCSE 888, Dacong (Tony) Yan   SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   11/13
PerformanceCSE 888, Dacong (Tony) Yan   SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   12/13
Discussion            What can we do with the results of SherLog? Can we make these            successive steps automated ...
SherLog: Error Diagnosis by Connecting Clues from Run-time Logs
Upcoming SlideShare
Loading in …5
×

SherLog: Error Diagnosis by Connecting Clues from Run-time Logs

2,082 views

Published on

Class paper present

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

SherLog: Error Diagnosis by Connecting Clues from Run-time Logs

  1. 1. SherLog: Error Diagnosis by Connecting Clues from Run-time Logs Dacong (Tony) Yan April 07, 2010
  2. 2. Introduction Scenario - production run failure failure reproduction: reproduce the failed execution trying to figure out what was going on with the programCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 2/13
  3. 3. Introduction Scenario - production run failure failure reproduction: reproduce the failed execution trying to figure out what was going on with the program Challenges customers’ privacy concerns difficulty in setting up exact same execution environment lack of low-overhead logging mechanism for failure reproduction on multi-processors (why?)CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 2/13
  4. 4. Introduction Scenario - production run failure failure reproduction: reproduce the failed execution trying to figure out what was going on with the program Challenges customers’ privacy concerns difficulty in setting up exact same execution environment lack of low-overhead logging mechanism for failure reproduction on multi-processors (why?) Common Practice in Industry customers send logs to vendors in case of failure vendors analyze logs to find clues to the problemCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 2/13
  5. 5. Introduction Scenario - production run failure failure reproduction: reproduce the failed execution trying to figure out what was going on with the program Challenges customers’ privacy concerns difficulty in setting up exact same execution environment lack of low-overhead logging mechanism for failure reproduction on multi-processors (why?) Common Practice in Industry customers send logs to vendors in case of failure vendors analyze logs to find clues to the problem Research Question how to locate root cause of failure by analyzing logs? even without reproduce the failure executionCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 2/13
  6. 6. Approach Idea Ideal Goal: find out what exactly happened in the failure execution, i.e. the exact failure-inducing execution pathsCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 3/13
  7. 7. Approach Idea Ideal Goal: find out what exactly happened in the failure execution, i.e. the exact failure-inducing execution paths Realistic Goal: identify the Must-Have, May-Have, and Must-Not-Have paths, and the states of variables on the possible pathsCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 3/13
  8. 8. Approach Idea Ideal Goal: find out what exactly happened in the failure execution, i.e. the exact failure-inducing execution paths Realistic Goal: identify the Must-Have, May-Have, and Must-Not-Have paths, and the states of variables on the possible paths Usage Scenario runs the tool to get an interesting path queries or examines values of certain interesting variables along the path repeats the previous step until the root cause is foundCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 3/13
  9. 9. Design Three main components: Log Parsing: locates the source code lines printing the messages Path Inference: infers the Must-Paths, May-Paths, and Pruned-Paths Value Inference: infers the variable values on the pathsCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 5/13
  10. 10. Design Three main components: Log Parsing: locates the source code lines printing the messages Path Inference: infers the Must-Paths, May-Paths, and Pruned-Paths Value Inference: infers the variable values on the pathsCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 5/13
  11. 11. Evaluation
  12. 12. Evaluation Methodology manually reproduce and diagnose the failure collect path summaries at runtime compare the result of SherLog with the reproduction Terminology useful: SherLog infers a subset of the summarized information complete: SherLog infers all the information necessary for debuggingCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 7/13
  13. 13. Experimental Results
  14. 14. Overall ResultsCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 9/13
  15. 15. Case Studies Three case studies to demonstrate the effectiveness of SherLog: Case 1: ln of coreutils 4.5.1 Case 2: Squid web proxy cache server Case 3: CVS Configuration ErrorCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 10/13
  16. 16. Squid Case StudyCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 11/13
  17. 17. PerformanceCSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 12/13
  18. 18. Discussion What can we do with the results of SherLog? Can we make these successive steps automated as well? How much helpful the result of SherLog is for debugging? Or more generally, how do we evaluate automated debugging tools? How much useful SherLog is when it is not complete?CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 13/13

×