SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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.
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 

Dernier (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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...
 

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