SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
SherLog: Error Diagnosis by Connecting Clues from
                  Run-time Logs




                Dacong (Tony) Yan
                  April 07, 2010
Introduction



            Scenario - production run failure
                   failure reproduction: reproduce the failed execution trying to figure
                   out what was going on with the program




CSE 888, Dacong (Tony) Yan        SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   2/13
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
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




CSE 888, Dacong (Tony) Yan        SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   2/13
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 execution


CSE 888, Dacong (Tony) Yan        SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   2/13
Approach




            Idea
                   Ideal Goal: find out what exactly happened in the failure execution,
                   i.e. the exact failure-inducing execution paths




CSE 888, Dacong (Tony) Yan        SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   3/13
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




CSE 888, Dacong (Tony) Yan        SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   3/13
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 found




CSE 888, Dacong (Tony) Yan        SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   3/13
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 paths




CSE 888, Dacong (Tony) Yan     SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   5/13
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 paths




CSE 888, Dacong (Tony) Yan     SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   5/13
Evaluation
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 debugging




CSE 888, Dacong (Tony) Yan        SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   7/13
Experimental Results
Overall Results




CSE 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
            Case 2: Squid web proxy cache server
            Case 3: CVS Configuration Error




CSE 888, Dacong (Tony) Yan   SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   10/13
Squid Case Study




CSE 888, Dacong (Tony) Yan   SherLog: Error Diagnosis by Connecting Clues from Run-time Logs   11/13
Performance




CSE 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 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

Weitere ähnliche Inhalte

Was ist angesagt?

A Closer Look at Real-World Patches
A Closer Look at Real-World PatchesA Closer Look at Real-World Patches
A Closer Look at Real-World PatchesDongsun Kim
 
OCP Java SE 8 Exam - Sample Questions - Java Streams API
OCP Java SE 8 Exam - Sample Questions - Java Streams APIOCP Java SE 8 Exam - Sample Questions - Java Streams API
OCP Java SE 8 Exam - Sample Questions - Java Streams APIGanesh Samarthyam
 
Impact of Tool Support in Patch Construction
Impact of Tool Support in Patch ConstructionImpact of Tool Support in Patch Construction
Impact of Tool Support in Patch ConstructionDongsun Kim
 
Learning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesLearning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesDongsun Kim
 
RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG Greg.Helton
 
150412 38 beamer methods of binary analysis
150412 38 beamer methods of  binary analysis150412 38 beamer methods of  binary analysis
150412 38 beamer methods of binary analysisRaghu Palakodety
 
Dissertation Defense
Dissertation DefenseDissertation Defense
Dissertation DefenseSung Kim
 
OCJP Samples Questions: Exceptions and assertions
OCJP Samples Questions: Exceptions and assertionsOCJP Samples Questions: Exceptions and assertions
OCJP Samples Questions: Exceptions and assertionsHari kiran G
 
Experimental design
Experimental designExperimental design
Experimental designDan Toma
 
Memories of Bug Fixes
Memories of Bug FixesMemories of Bug Fixes
Memories of Bug FixesSung Kim
 
Chapter 2.4
Chapter 2.4Chapter 2.4
Chapter 2.4sotlsoc
 
STAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash ReproductionSTAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash ReproductionSung Kim
 
"Быстрое обнаружение вредоносного ПО для Android с помощью машинного обучения...
"Быстрое обнаружение вредоносного ПО для Android с помощью машинного обучения..."Быстрое обнаружение вредоносного ПО для Android с помощью машинного обучения...
"Быстрое обнаружение вредоносного ПО для Android с помощью машинного обучения...Yandex
 
OCP Java SE 8 Exam - Sample Questions - Exceptions and Assertions
OCP Java SE 8 Exam - Sample Questions - Exceptions and AssertionsOCP Java SE 8 Exam - Sample Questions - Exceptions and Assertions
OCP Java SE 8 Exam - Sample Questions - Exceptions and AssertionsGanesh Samarthyam
 
Opal Hermes - towards representative benchmarks
Opal  Hermes - towards representative benchmarksOpal  Hermes - towards representative benchmarks
Opal Hermes - towards representative benchmarksMichaelEichberg1
 

Was ist angesagt? (18)

A Closer Look at Real-World Patches
A Closer Look at Real-World PatchesA Closer Look at Real-World Patches
A Closer Look at Real-World Patches
 
Slides
SlidesSlides
Slides
 
OCP Java SE 8 Exam - Sample Questions - Java Streams API
OCP Java SE 8 Exam - Sample Questions - Java Streams APIOCP Java SE 8 Exam - Sample Questions - Java Streams API
OCP Java SE 8 Exam - Sample Questions - Java Streams API
 
Impact of Tool Support in Patch Construction
Impact of Tool Support in Patch ConstructionImpact of Tool Support in Patch Construction
Impact of Tool Support in Patch Construction
 
Learning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method NamesLearning to Spot and Refactor Inconsistent Method Names
Learning to Spot and Refactor Inconsistent Method Names
 
RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG
 
150412 38 beamer methods of binary analysis
150412 38 beamer methods of  binary analysis150412 38 beamer methods of  binary analysis
150412 38 beamer methods of binary analysis
 
Dissertation Defense
Dissertation DefenseDissertation Defense
Dissertation Defense
 
OCJP Samples Questions: Exceptions and assertions
OCJP Samples Questions: Exceptions and assertionsOCJP Samples Questions: Exceptions and assertions
OCJP Samples Questions: Exceptions and assertions
 
Experimental design
Experimental designExperimental design
Experimental design
 
Memories of Bug Fixes
Memories of Bug FixesMemories of Bug Fixes
Memories of Bug Fixes
 
Chapter 2.4
Chapter 2.4Chapter 2.4
Chapter 2.4
 
STAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash ReproductionSTAR: Stack Trace based Automatic Crash Reproduction
STAR: Stack Trace based Automatic Crash Reproduction
 
"Быстрое обнаружение вредоносного ПО для Android с помощью машинного обучения...
"Быстрое обнаружение вредоносного ПО для Android с помощью машинного обучения..."Быстрое обнаружение вредоносного ПО для Android с помощью машинного обучения...
"Быстрое обнаружение вредоносного ПО для Android с помощью машинного обучения...
 
OCP Java SE 8 Exam - Sample Questions - Exceptions and Assertions
OCP Java SE 8 Exam - Sample Questions - Exceptions and AssertionsOCP Java SE 8 Exam - Sample Questions - Exceptions and Assertions
OCP Java SE 8 Exam - Sample Questions - Exceptions and Assertions
 
Opal Hermes - towards representative benchmarks
Opal  Hermes - towards representative benchmarksOpal  Hermes - towards representative benchmarks
Opal Hermes - towards representative benchmarks
 
Estructura secuencial -garcia
Estructura secuencial -garciaEstructura secuencial -garcia
Estructura secuencial -garcia
 
Problemas secuenciales.
Problemas secuenciales.Problemas secuenciales.
Problemas secuenciales.
 

Andere mochten auch

ERROR ANALYSIS IN SPEAKING-UIN SUSKA RIAU
ERROR ANALYSIS IN SPEAKING-UIN SUSKA RIAUERROR ANALYSIS IN SPEAKING-UIN SUSKA RIAU
ERROR ANALYSIS IN SPEAKING-UIN SUSKA RIAUSela mulianti
 
Contrastive A & Language Transfer
Contrastive A & Language TransferContrastive A & Language Transfer
Contrastive A & Language Transferpattyulanova
 
RAPPORTO 2009 - Toscana, la società dell’informazione e della conoscenza
RAPPORTO 2009 - Toscana, la società dell’informazione e della conoscenzaRAPPORTO 2009 - Toscana, la società dell’informazione e della conoscenza
RAPPORTO 2009 - Toscana, la società dell’informazione e della conoscenzaBTO Educational
 
A renewables-based South African energy system?
A renewables-based South African energy system?A renewables-based South African energy system?
A renewables-based South African energy system?Private Consultants
 
Social Media for Artists
Social Media for ArtistsSocial Media for Artists
Social Media for ArtistsSOMArts
 
REGIONE TOSCANA - Rapporto partecipazione 2009
REGIONE TOSCANA - Rapporto partecipazione 2009REGIONE TOSCANA - Rapporto partecipazione 2009
REGIONE TOSCANA - Rapporto partecipazione 2009BTO Educational
 
Xo Overview Jason 7.21.11
Xo Overview Jason 7.21.11Xo Overview Jason 7.21.11
Xo Overview Jason 7.21.11jjmickelson
 
Maidan Summit 2011 - Mandira Srivastava, Isha Foundation
Maidan Summit 2011 - Mandira Srivastava, Isha FoundationMaidan Summit 2011 - Mandira Srivastava, Isha Foundation
Maidan Summit 2011 - Mandira Srivastava, Isha FoundationMaidan.in
 
Manreet Deol Portfolio
Manreet Deol PortfolioManreet Deol Portfolio
Manreet Deol PortfolioManreetdeol
 
Direito à Saúde. Políticas Públicas. Medicina Tecnológica. - Dissertação de M...
Direito à Saúde. Políticas Públicas. Medicina Tecnológica. - Dissertação de M...Direito à Saúde. Políticas Públicas. Medicina Tecnológica. - Dissertação de M...
Direito à Saúde. Políticas Públicas. Medicina Tecnológica. - Dissertação de M...Nicholas Merlone
 
Demonstrate Your Value and Get Paid for It - Marketwerks
Demonstrate Your Value and Get Paid for It   - MarketwerksDemonstrate Your Value and Get Paid for It   - Marketwerks
Demonstrate Your Value and Get Paid for It - MarketwerksMarketwerks, Inc.
 
Counting Clicks Auditing Your Web Site Activity
Counting Clicks   Auditing Your Web Site ActivityCounting Clicks   Auditing Your Web Site Activity
Counting Clicks Auditing Your Web Site ActivityLeonardo Naressi
 

Andere mochten auch (20)

ERROR ANALYSIS IN SPEAKING-UIN SUSKA RIAU
ERROR ANALYSIS IN SPEAKING-UIN SUSKA RIAUERROR ANALYSIS IN SPEAKING-UIN SUSKA RIAU
ERROR ANALYSIS IN SPEAKING-UIN SUSKA RIAU
 
Error analysis
Error analysis Error analysis
Error analysis
 
Contrastive A & Language Transfer
Contrastive A & Language TransferContrastive A & Language Transfer
Contrastive A & Language Transfer
 
Error analysis
Error analysis Error analysis
Error analysis
 
Error analysis
Error  analysisError  analysis
Error analysis
 
RAPPORTO 2009 - Toscana, la società dell’informazione e della conoscenza
RAPPORTO 2009 - Toscana, la società dell’informazione e della conoscenzaRAPPORTO 2009 - Toscana, la società dell’informazione e della conoscenza
RAPPORTO 2009 - Toscana, la società dell’informazione e della conoscenza
 
A renewables-based South African energy system?
A renewables-based South African energy system?A renewables-based South African energy system?
A renewables-based South African energy system?
 
Social Media for Artists
Social Media for ArtistsSocial Media for Artists
Social Media for Artists
 
REGIONE TOSCANA - Rapporto partecipazione 2009
REGIONE TOSCANA - Rapporto partecipazione 2009REGIONE TOSCANA - Rapporto partecipazione 2009
REGIONE TOSCANA - Rapporto partecipazione 2009
 
S4 tarea4 sumab
S4 tarea4 sumabS4 tarea4 sumab
S4 tarea4 sumab
 
Grupo de alimentos
Grupo de alimentosGrupo de alimentos
Grupo de alimentos
 
Xo Overview Jason 7.21.11
Xo Overview Jason 7.21.11Xo Overview Jason 7.21.11
Xo Overview Jason 7.21.11
 
Maidan Summit 2011 - Mandira Srivastava, Isha Foundation
Maidan Summit 2011 - Mandira Srivastava, Isha FoundationMaidan Summit 2011 - Mandira Srivastava, Isha Foundation
Maidan Summit 2011 - Mandira Srivastava, Isha Foundation
 
Libres en cristo 3
Libres en cristo 3Libres en cristo 3
Libres en cristo 3
 
Manreet Deol Portfolio
Manreet Deol PortfolioManreet Deol Portfolio
Manreet Deol Portfolio
 
Ajuda ao apocalipse
Ajuda ao apocalipseAjuda ao apocalipse
Ajuda ao apocalipse
 
Direito à Saúde. Políticas Públicas. Medicina Tecnológica. - Dissertação de M...
Direito à Saúde. Políticas Públicas. Medicina Tecnológica. - Dissertação de M...Direito à Saúde. Políticas Públicas. Medicina Tecnológica. - Dissertação de M...
Direito à Saúde. Políticas Públicas. Medicina Tecnológica. - Dissertação de M...
 
Demonstrate Your Value and Get Paid for It - Marketwerks
Demonstrate Your Value and Get Paid for It   - MarketwerksDemonstrate Your Value and Get Paid for It   - Marketwerks
Demonstrate Your Value and Get Paid for It - Marketwerks
 
Hola soy un libro
Hola soy un libroHola soy un libro
Hola soy un libro
 
Counting Clicks Auditing Your Web Site Activity
Counting Clicks   Auditing Your Web Site ActivityCounting Clicks   Auditing Your Web Site Activity
Counting Clicks Auditing Your Web Site Activity
 

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

Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directionsTao He
 
Introduction to Snabbkaffe
Introduction to SnabbkaffeIntroduction to Snabbkaffe
Introduction to SnabbkaffeEMQ
 
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongJDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongPROIDEA
 
Finding latent code errors via machine learning over program ...
Finding latent code errors via machine learning over program ...Finding latent code errors via machine learning over program ...
Finding latent code errors via machine learning over program ...butest
 
Mining Code Examples with Descriptive Text from Software Artifacts
Mining Code Examples with Descriptive Text from Software ArtifactsMining Code Examples with Descriptive Text from Software Artifacts
Mining Code Examples with Descriptive Text from Software ArtifactsPreetha Chatterjee
 
Different Techniques Of Debugging Selenium Based Test Scripts.pdf
Different Techniques Of Debugging Selenium Based Test Scripts.pdfDifferent Techniques Of Debugging Selenium Based Test Scripts.pdf
Different Techniques Of Debugging Selenium Based Test Scripts.pdfpCloudy
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysislienhard
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Concurrency in Eclipse: Best Practices and Gotchas
Concurrency in Eclipse: Best Practices and GotchasConcurrency in Eclipse: Best Practices and Gotchas
Concurrency in Eclipse: Best Practices and Gotchasamccullo
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideShareyayao
 
NDC London 2014: Erlang Patterns Matching Business Needs
NDC London 2014: Erlang Patterns Matching Business NeedsNDC London 2014: Erlang Patterns Matching Business Needs
NDC London 2014: Erlang Patterns Matching Business NeedsTorben Hoffmann
 
Software Engineering - RS3
Software Engineering - RS3Software Engineering - RS3
Software Engineering - RS3AtakanAral
 
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs Lisong Guo
 
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...MITRE ATT&CK
 
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
Annotated Bibliography  .Guidelines Annotated Bibliograph.docxAnnotated Bibliography  .Guidelines Annotated Bibliograph.docx
Annotated Bibliography .Guidelines Annotated Bibliograph.docxjustine1simpson78276
 
Schema, validation and generative testing
Schema, validation and generative testingSchema, validation and generative testing
Schema, validation and generative testingLaurence Chen
 

Ähnlich wie SherLog: Error Diagnosis by Connecting Clues from Run-time Logs (20)

Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
 
Introduction to Snabbkaffe
Introduction to SnabbkaffeIntroduction to Snabbkaffe
Introduction to Snabbkaffe
 
White box
White boxWhite box
White box
 
White box
White boxWhite box
White box
 
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongJDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
 
Finding latent code errors via machine learning over program ...
Finding latent code errors via machine learning over program ...Finding latent code errors via machine learning over program ...
Finding latent code errors via machine learning over program ...
 
Mining Code Examples with Descriptive Text from Software Artifacts
Mining Code Examples with Descriptive Text from Software ArtifactsMining Code Examples with Descriptive Text from Software Artifacts
Mining Code Examples with Descriptive Text from Software Artifacts
 
Different Techniques Of Debugging Selenium Based Test Scripts.pdf
Different Techniques Of Debugging Selenium Based Test Scripts.pdfDifferent Techniques Of Debugging Selenium Based Test Scripts.pdf
Different Techniques Of Debugging Selenium Based Test Scripts.pdf
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysis
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Concurrency in Eclipse: Best Practices and Gotchas
Concurrency in Eclipse: Best Practices and GotchasConcurrency in Eclipse: Best Practices and Gotchas
Concurrency in Eclipse: Best Practices and Gotchas
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideShare
 
Symbolic Execution And KLEE
Symbolic Execution And KLEESymbolic Execution And KLEE
Symbolic Execution And KLEE
 
NDC London 2014: Erlang Patterns Matching Business Needs
NDC London 2014: Erlang Patterns Matching Business NeedsNDC London 2014: Erlang Patterns Matching Business Needs
NDC London 2014: Erlang Patterns Matching Business Needs
 
Software Engineering - RS3
Software Engineering - RS3Software Engineering - RS3
Software Engineering - RS3
 
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs SherLog:  Error Diagnosis Through Connecting Clues from Run-time Logs
SherLog: Error Diagnosis Through Connecting Clues from Run-time Logs
 
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
Detection as Code, Automation, and Testing: The Key to Unlocking the Power of...
 
Testing
TestingTesting
Testing
 
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
Annotated Bibliography  .Guidelines Annotated Bibliograph.docxAnnotated Bibliography  .Guidelines Annotated Bibliograph.docx
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
 
Schema, validation and generative testing
Schema, validation and generative testingSchema, validation and generative testing
Schema, validation and generative testing
 

Mehr von Dacong (Tony) Yan

Static Reference Analysis for GUI Objects in Android Software
Static Reference Analysis for GUI Objects in Android SoftwareStatic Reference Analysis for GUI Objects in Android Software
Static Reference Analysis for GUI Objects in Android SoftwareDacong (Tony) Yan
 
LeakChecker: Practical Static Memory Leak Detection for Managed Languages
LeakChecker: Practical Static Memory Leak Detection for Managed LanguagesLeakChecker: Practical Static Memory Leak Detection for Managed Languages
LeakChecker: Practical Static Memory Leak Detection for Managed LanguagesDacong (Tony) Yan
 
Systematic Testing for Resource Leaks in Android Applications
Systematic Testing for Resource Leaks in Android ApplicationsSystematic Testing for Resource Leaks in Android Applications
Systematic Testing for Resource Leaks in Android ApplicationsDacong (Tony) Yan
 
Efficient Diversity-Aware Search
Efficient Diversity-Aware SearchEfficient Diversity-Aware Search
Efficient Diversity-Aware SearchDacong (Tony) Yan
 
Demand-Driven Context-Sensitive Alias Analysis for Java
Demand-Driven Context-Sensitive Alias Analysis for JavaDemand-Driven Context-Sensitive Alias Analysis for Java
Demand-Driven Context-Sensitive Alias Analysis for JavaDacong (Tony) Yan
 
Rethinking Soot for Summary-Based Whole-Program Analysis
Rethinking Soot for Summary-Based Whole-Program AnalysisRethinking Soot for Summary-Based Whole-Program Analysis
Rethinking Soot for Summary-Based Whole-Program AnalysisDacong (Tony) Yan
 
Uncovering Performance Problems in Java Applications with Reference Propagati...
Uncovering Performance Problems in Java Applications with Reference Propagati...Uncovering Performance Problems in Java Applications with Reference Propagati...
Uncovering Performance Problems in Java Applications with Reference Propagati...Dacong (Tony) Yan
 
A Toy Virtual Machine Project
A Toy Virtual Machine ProjectA Toy Virtual Machine Project
A Toy Virtual Machine ProjectDacong (Tony) Yan
 

Mehr von Dacong (Tony) Yan (10)

Static Reference Analysis for GUI Objects in Android Software
Static Reference Analysis for GUI Objects in Android SoftwareStatic Reference Analysis for GUI Objects in Android Software
Static Reference Analysis for GUI Objects in Android Software
 
LeakChecker: Practical Static Memory Leak Detection for Managed Languages
LeakChecker: Practical Static Memory Leak Detection for Managed LanguagesLeakChecker: Practical Static Memory Leak Detection for Managed Languages
LeakChecker: Practical Static Memory Leak Detection for Managed Languages
 
Systematic Testing for Resource Leaks in Android Applications
Systematic Testing for Resource Leaks in Android ApplicationsSystematic Testing for Resource Leaks in Android Applications
Systematic Testing for Resource Leaks in Android Applications
 
Efficient Diversity-Aware Search
Efficient Diversity-Aware SearchEfficient Diversity-Aware Search
Efficient Diversity-Aware Search
 
AVIO class present
AVIO class presentAVIO class present
AVIO class present
 
Demand-Driven Context-Sensitive Alias Analysis for Java
Demand-Driven Context-Sensitive Alias Analysis for JavaDemand-Driven Context-Sensitive Alias Analysis for Java
Demand-Driven Context-Sensitive Alias Analysis for Java
 
Rethinking Soot for Summary-Based Whole-Program Analysis
Rethinking Soot for Summary-Based Whole-Program AnalysisRethinking Soot for Summary-Based Whole-Program Analysis
Rethinking Soot for Summary-Based Whole-Program Analysis
 
Uncovering Performance Problems in Java Applications with Reference Propagati...
Uncovering Performance Problems in Java Applications with Reference Propagati...Uncovering Performance Problems in Java Applications with Reference Propagati...
Uncovering Performance Problems in Java Applications with Reference Propagati...
 
A Toy Virtual Machine Project
A Toy Virtual Machine ProjectA Toy Virtual Machine Project
A Toy Virtual Machine Project
 
Scope vs YSmart
Scope vs YSmartScope vs YSmart
Scope vs YSmart
 

Kürzlich hochgeladen

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

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

  • 1. SherLog: Error Diagnosis by Connecting Clues from Run-time Logs Dacong (Tony) Yan April 07, 2010
  • 2. Introduction Scenario - production run failure failure reproduction: reproduce the failed execution trying to figure out what was going on with the program CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 2/13
  • 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. 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 CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 2/13
  • 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 execution CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 2/13
  • 6. Approach Idea Ideal Goal: find out what exactly happened in the failure execution, i.e. the exact failure-inducing execution paths CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 3/13
  • 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 paths CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 3/13
  • 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 found CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 3/13
  • 9.
  • 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 paths CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 5/13
  • 11. 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 paths CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 5/13
  • 13. 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 debugging CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 7/13
  • 15. Overall Results CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 9/13
  • 16. 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 Error CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 10/13
  • 17. Squid Case Study CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 11/13
  • 18. Performance CSE 888, Dacong (Tony) Yan SherLog: Error Diagnosis by Connecting Clues from Run-time Logs 12/13
  • 19. 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