SlideShare a Scribd company logo
1
Weiyi Shang
Supervisor: Dr. Ahmed E. Hassan
Log Engineering: Towards Systematic Log
Mining to Support the Development of
Ultra-largeScale Systems
Automated profiling & instrumentation are
widely used in software engineering
Overhead No domain knowledgeLarge scale
2
Logs are a valuable source of information about
system execution
3
Field informationDeveloper experience
foo() {
…
Log_statement(“operation
started”);
…
}
Overview of log mining
4
Software
System
Log collection Log analysis
Log
transformation
Goal
Finding 1. Little research focuses on logging
statements that reside in the source code.
Finding 2. Little research focuses on logs
generated during the development of system.
5
Software
System
Log collection Log analysis
Log
transformation
Goal
• Types of Logs:
• Platform logs: Hadoop logs [Tan et al.]
• Application logs: Dell DVD store logs [Jiang et al.]
• Sources of Logs:
• Logs from the field: [Kavulia et al.]
• Logs during development: [Jiang et al.]
Finding 3. Prior research primarily uses ad hoc
log transformation techniques.
6
Software
System
Log collection Log analysis
Log
transformation
Goal
• Abstracted logs: Log events [Jiang et al.]
• Vectors or sets: Pairs [Jiang et al.], Sequence [Jiang et al.], Suffix arrays
[Nagappan et al.], Time series [Bitincka et al.]
• Graphs: State machines [Tan et al.], Directed Graph[Nagappan et al.]
• Matrixes: [Lou et al.]
Finding 4. Prior log mining research does not
address the scalability challenges.
7
Software
System
Log collection Log analysis
Log
transformation
Goal
• Simple calculation: filtering [Salfner et
al. ]
• Directed Graph-based algorithms:
[Nagappan et al.]
• Static analysis: [Yuan et al.]
• Model checking: [Beschastnikh et al.]
• Visualization: [De Pauw et al.]
• Statistical methods: PCA [Xu et al.]
• Data mining techniques: Co-occurrence
analysis [Lou et al.]
• Machine learning techniques: Prediction
[Salfner et al.]
• Other analysis techniques: Compression
[Hassan et al.]
Finding 5. There exists limited software log
mining research to support software
development activities
8
Software
System
Log collection Log analysis
Log
transformation
Goal
• Log mining platforms: [Bitincka et al.]
• Log improvements: [Yuan et al.]
• Log mining for system administration
• Anomaly detection [Xu et al.]
• System monitoring [Rabkin et al.]
• Work load recovery and capacity
planning [Kavulia et al.]
• Log mining for software engineering
• Program comprehension:
[Beschastnikh et al.]
• Software testing: [Jiang et al.]
• Empirical studies: [Yuan et al.]
Thesis statement
Logs are a valuable yet rarely explored source of knowledge
about a software system and its operation. There is little
research regarding the understanding and evolution of logs.
Systematic and scalable log mining approaches are needed
to support various software development activities (e.g.,
code quality improvement, large scale testing and
deployment of ultra-large scale applications).
9
10
Part 1: Study the challenges associated with
understanding and evolving logging statements
Part 2: Log engineering approaches to support
software development activities
What are the challenges in understanding logging
statements? [Submitted to ICSM 2014]
How do logging statements evolve?
[WCRE 2011 , JESP]
Prioritizing code review and testing efforts using logs
and their churn. [EMSE]
Verifying deployment of Big Data Analytics applications
using logs. [ICSE 2013 ]
11
Part 1: Study the challenges associated with
understanding and evolving logging statements
Part 2: Log engineering approaches to support
software development activities
What are the challenges in understanding
logging statements?
How do logging statements evolve?
Prioritizing code review and testing efforts
using logs and their churn.
Verifying deployment of Big Data Analytics
applications using logs.
Motivation: Log understanding is challenging
12
User mailing lists
Hadoop
Cassandra
Zookeeper
14 inquiries asked
about 5 types of
information
2
11
1
6
1
0
5
10
Meaning Cause Context Solution Impact
# inquires
[ICSM 2014 in submission]
Approach: Attaching development knowledge
to logs
13
Code
commit
Issue reports
Source code
/*
…
*/
Call graph
Code comments
[ICSM 2014 in submission]
Development knowledge can resolve real-life
inquiries
Development knowledge can provide help in resolving 9 out of 14
real-life inquiries from the user mailing list
0
2
4
6
8
10
12
Meaning Cause Context Solution Impact
# not answered inquires
# answered inquires
14
[ICSM 2014 in submission]
15
Part 1: Study the challenges associated with
understanding and evolving logging statements
Part 2: Log engineering approaches to support
software development activities
What are the challenges in understanding
logging statements?
How do logging statements evolve?
Prioritizing code review and testing efforts
using logs and their churn.
Verifying deployment of Big Data Analytics
applications using logs.
Motivation:
How to keep Log Processing Apps in sync with
logs?
Release 1 Release 2 Release 3
16
[WCRE 2011 best paper, JSEP]
Approach:
Studying log evolution at the execution level
Data
Collection
Log
Abstraction
System
Deployment
time=1, Trying to launch, TaskID=01A
time=$t, Trying to launch, TaskID=$id
Enterprise Application (EA)
17
Log
Events
[WCRE 2011 best paper, JSEP]
Generating
Abstract
Syntax Tree
Identifying
logging
statements
Source code
Log.info (“time=%d, Trying to launch,
TaskID=%s”, time, taskid);
time=$t, Trying to launch, TaskID=$id
18
Logging
statements
Approach:
Studying log evolution at the code level
[WCRE 2011 best paper, JSEP]
How do log evolve
over time?
19
Growing &
changing
Document &
track
What types of
modifications
happen to logs?
What information is
conveyed by the
short-lived logs?
Quantity Type Content
8 types
Are mostly
avoidable
Implementation-
level details
Fragile
Maintenance
effort
Results
[WCRE 2011 best paper, JSEP]
20
Part 1: Study the challenges associated with
understanding and evolving logging statements
Part 2: Log engineering approaches to support
software development activities
What are the challenges in understanding
logging statements?
How do logging statements evolve?
Prioritizing code review and testing efforts
using logs and their churn.
Verifying deployment of Big Data Analytics
applications using logs.
Approach: Building statistical models for post-
release defects
21
Logistic
Regression
Model
Traditional metrics
Traditional metrics Log-related metrics
Logistic
Regression
Model
• Are log-related metrics significant in the models?
• How much explanatory power improvement can
log-related metrics provide over traditional
metrics?[EMSE]
22
Log density
Average logging level
Log add density
Log delete density
Co-change of log and bug fix
Product Process
Approach:
Defining log-related metrics
Lines of code
Pre-release defects
Total prior commits
log-related metrics
Traditional metrics
Product Process
[EMSE]
23
There is relationship between logging characteristics and software quality.
Results
• In 7 out of 8 studied releases, at least one log-related
metric is statistically significant in enhancing the model
with only traditional metrics.
• The log-related metrics provide up to 40%
improvement over the explanatory power of the
traditional metrics.
0.16.0 to 0.19.0 3.0 to 4.0
[EMSE]
24
Part 1: Study the challenges associated with
understanding and evolving logging statements
Part 2: Log engineering approaches to support
software development activities
What are the challenges in understanding
logging statements?
How do logging statements evolve?
Prioritizing code review and testing efforts
using logs and their churn.
Verifying deployment of Big Data Analytics
applications using logs.
How to verify the deployment of Big Data
Analytics Apps?
25
Small sample data and pseudo
cloud
Big data and real-life cloud
How to verify
[ICSE 2013 distinguished paper]
Traditional approach for verifying BDA apps
26
Keyword scan
Many false positives!!
Large results, too much
effort to manually
examine
[ICSE 2013 distinguished paper]
Overview of our approach
27
Small sample data and pseudo
cloud
Big data and real-life cloud
Underlying platform Underlying platform
Execution
sequences
Execution
sequences
Execution
sequence
delta
[ICSE 2013 distinguished paper]
Comparing small and large runs
28
Logs from
testing run
with small
data
Logs from
run with
large data
Execution sequence
E1, E2, E3, E5, E6
Execution sequence
E1, E2, E3, E5, E6
E1, E2, E3, E7, E5, E6
Execution sequence delta
E1, E2, E3, E7, E5, E6
[ICSE 2013 distinguished paper]
How precise is our
approach?
Precision
29
Effort Reduction
How much effort
reduction does our
approach provide?
Reduce logs for
manual inspection
by over 86%
Less false positive
[ICSE 2013 distinguished paper]
Thesis contribution
• We demonstrate the challenges of understanding
logs.
• We show that logging statements continually
evolve.
• We show that there is a relationship between
logging characteristics and software defects.
• We propose approaches that leverage logs to
verify the deployment of Big Data Analytics
applications.
30
31
32
Where else can we find the requested
information?
33
Code
commit
Issue reports
Source code
/*
…
*/
Code
comments
Call graph
fetch failure
From method
checkAndInformJobTracker
of file ShuffleScheduler.java
Where else can we find the requested
information?
34
Code
commit
Issue reports
Source code
/*
…
*/
Code
comments
Call graph
fetch failure
Notify the JobTracker after every read error, if
`reportReadErrorImmediately' is true or after
every `maxFetchFailuresBeforeReporting' failures
Where else can we find the requested
information?
35
Code
commit
Issue reports
Source code
/*
…
*/
Code
comments
Call graph
fetch failure
Called by method
copyFailed in class ShuffleScheduler
Where else can we find the requested
information?
36
Code
commit
Issue reports
Source code
/*
…
*/
Code
comments
Call graph
fetch failure
Allow shuffle retries and read-error
reporting to be configurable. Contributed
by Amareshwari Sriramadasu.
Where else can we find the requested
information?
37
Code
commit
Issue reports
Source code
/*
…
*/
Code
comments
Call graph
fetch failure
MAPREDUCE-1171.
… This is caused by a behavioral change in
hadoop 0.20.1. …
…One solution I could see is "Provide a config
option... ”…
Where else can we find the requested
information?
38
Code
commit
Issue reports
Source code
/*
…
*/
Code
comments
Call graph
fetch failure
Meaning: There is a data reading error.
Cause: One of the possible reasons is a configuration.
Context: The event happens during the shuffle period, while
copying data.
Impact: The event impacts the jobtracker.
Solution: Changing a configuration option would solve the issue.
Amareshwari Sriramadasu is the expert to go to.
Step 1: Log Abstraction
reduces the size of logs
39
Log
abstraction
Log Linking
Simplifying
sequences
Example of log lines
Execution events
Jiang et al. JSME 2008
Step 2: Log linking
provides context for logs
40
Log
abstraction
Log Linking
Simplifying
sequences
Example of log lines
Execution events
Step 3: Sequence simplification
deals with repeated logs
41
Log
abstraction
Log Linking
Simplifying
sequences
Repeated logs:
task t1 read file A.
task t1 read file A.
task t1 read file A.
Remove repetition
and order of events

More Related Content

PPTX
Log Engineering: Towards Systematic Log Mining to Support the Development of ...
PPTX
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
PPT
Automated Discovery of Performance Regressions in Enterprise Applications
PPTX
Modeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
PPTX
Understanding the Rationale for Updating a Function's Comment
PPT
Detecting Interaction Coupling from Task Interaction Histories
PPTX
An Industrial Case Study on the Automated Detection of Performance Regression...
PPTX
Supporting Software Evolution Using Adaptive Change Propagation
Log Engineering: Towards Systematic Log Mining to Support the Development of ...
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
Automated Discovery of Performance Regressions in Enterprise Applications
Modeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
Understanding the Rationale for Updating a Function's Comment
Detecting Interaction Coupling from Task Interaction Histories
An Industrial Case Study on the Automated Detection of Performance Regression...
Supporting Software Evolution Using Adaptive Change Propagation

What's hot (20)

PPT
Animated Visualization of Software History Using Software Evolution Storyboards
PPT
Mining Performance Regression Testing Repositories for Automated Performance ...
PPTX
Software Reliability
PPTX
Dataintensive
PPTX
Using Control Charts for Detecting and Understanding Performance Regressions ...
PDF
naveed-kamran-software-architecture-agile
PPTX
Testing throughout the software life cycle
PPT
Ch15 software reliability
PPT
Sop test planning
PPTX
Testing throughout the software life cycle
PDF
Software metrics
PPTX
Testing throughout the software life cycle
PDF
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
PPTX
Human factors in software reliability engineering - Research Paper
PPTX
Icse 2011 ds_1
PPTX
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
PPTX
Testing throughout the software life cycle
PPTX
An Industrial Case Study of Automatically Identifying Performance Regression-...
DOC
Joseph G Scott
Animated Visualization of Software History Using Software Evolution Storyboards
Mining Performance Regression Testing Repositories for Automated Performance ...
Software Reliability
Dataintensive
Using Control Charts for Detecting and Understanding Performance Regressions ...
naveed-kamran-software-architecture-agile
Testing throughout the software life cycle
Ch15 software reliability
Sop test planning
Testing throughout the software life cycle
Software metrics
Testing throughout the software life cycle
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
Human factors in software reliability engineering - Research Paper
Icse 2011 ds_1
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
Testing throughout the software life cycle
An Industrial Case Study of Automatically Identifying Performance Regression-...
Joseph G Scott
Ad

Viewers also liked (14)

PDF
An Automated Approach for Recommending When to Stop Performance Tests
PPTX
Impact of Installation Counts on Perceived Quality: A Case Study on Debian
PPTX
Large-Scale Empirical Studies of Mobile Apps
PPTX
Accelerating New Hire Productivity Through Onboarding
PDF
Onboarding & Orientation - How to on-board new employees. A Manual for HR and...
PPTX
Five Steps to a world class onboarding program presentation
PDF
4 Critical Elements of Your Onboarding Process
PPTX
Automatic Load Test Verification Using Control Charts
PPTX
A Case Study of Bias in Bug-Fix Datasets
PPTX
Automated Detection of Performance Regressions Using Statistical Process Cont...
PPTX
What are the Characteristics of High-rated Apps
PDF
Hallwaze lends a helping hand to ..
PDF
Digital analytics: Tableau (Lecture 6)
PDF
Bases para la plaza de Operario Servicios Múltiples - Jardinería (2013)
An Automated Approach for Recommending When to Stop Performance Tests
Impact of Installation Counts on Perceived Quality: A Case Study on Debian
Large-Scale Empirical Studies of Mobile Apps
Accelerating New Hire Productivity Through Onboarding
Onboarding & Orientation - How to on-board new employees. A Manual for HR and...
Five Steps to a world class onboarding program presentation
4 Critical Elements of Your Onboarding Process
Automatic Load Test Verification Using Control Charts
A Case Study of Bias in Bug-Fix Datasets
Automated Detection of Performance Regressions Using Statistical Process Cont...
What are the Characteristics of High-rated Apps
Hallwaze lends a helping hand to ..
Digital analytics: Tableau (Lecture 6)
Bases para la plaza de Operario Servicios Múltiples - Jardinería (2013)
Ad

Similar to Log Engineering: Towards Systematic Log Mining to Support the Development of Ultra-Large Scale Systems (20)

PDF
Log Analysis Engine with Integration of Hadoop and Spark
PDF
VMworld 2013: Deep Dive into vSphere Log Management with vCenter Log Insight
PPT
Making Logs Sexy Again: Can We Finally Lose The Regexes?
PDF
Security Events Logging at Bell with the Elastic Stack
PDF
Mining Development Knowledge to Understand and Support Software Logging Pract...
PDF
A Tool for Rejuvenating Feature Logging Levels via Git Histories and Degree o...
PDF
Are logs a software engineer’s best friend? Yes -- follow these best practices
PPTX
Big Data, Baby Steps
PDF
Utah Big Mountain Big Data Baby Steps (4-12-2014) Final
PPTX
Icse2013 shang
PPTX
Enterprise Logging and Log Management: Hot Topics by Dr. Anton Chuvakin
PPTX
Intro to Big Data - Orlando Code Camp 2014
PDF
Regex Considered Harmful: Use Rosie Pattern Language Instead
PDF
Data pipelines from zero to solid
PDF
Python vs JLizard.... a python logging experience
PDF
Software Mining and Software Datasets
PPT
Application Logging Good Bad Ugly ... Beautiful?
PDF
SplunkApplicationLoggingBestPractices_Template_2.3.pdf
PDF
Developer Fundamentals - Logging
PPTX
Log Standards & Future Trends by Dr. Anton Chuvakin
Log Analysis Engine with Integration of Hadoop and Spark
VMworld 2013: Deep Dive into vSphere Log Management with vCenter Log Insight
Making Logs Sexy Again: Can We Finally Lose The Regexes?
Security Events Logging at Bell with the Elastic Stack
Mining Development Knowledge to Understand and Support Software Logging Pract...
A Tool for Rejuvenating Feature Logging Levels via Git Histories and Degree o...
Are logs a software engineer’s best friend? Yes -- follow these best practices
Big Data, Baby Steps
Utah Big Mountain Big Data Baby Steps (4-12-2014) Final
Icse2013 shang
Enterprise Logging and Log Management: Hot Topics by Dr. Anton Chuvakin
Intro to Big Data - Orlando Code Camp 2014
Regex Considered Harmful: Use Rosie Pattern Language Instead
Data pipelines from zero to solid
Python vs JLizard.... a python logging experience
Software Mining and Software Datasets
Application Logging Good Bad Ugly ... Beautiful?
SplunkApplicationLoggingBestPractices_Template_2.3.pdf
Developer Fundamentals - Logging
Log Standards & Future Trends by Dr. Anton Chuvakin

More from SAIL_QU (20)

PDF
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
PDF
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
PPTX
Improving the testing efficiency of selenium-based load tests
PDF
Studying User-Developer Interactions Through the Distribution and Reviewing M...
PDF
Studying online distribution platforms for games through the mining of data f...
PPTX
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
PDF
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
PPTX
Which Log Level Should Developers Choose For a New Logging Statement?
PPTX
Towards Just-in-Time Suggestions for Log Changes
PDF
The Impact of Task Granularity on Co-evolution Analyses
PPTX
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
PPTX
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
PPTX
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
PDF
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
PPTX
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
PDF
What Do Programmers Know about Software Energy Consumption?
PPTX
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
PDF
Revisiting the Experimental Design Choices for Approaches for the Automated R...
PPTX
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
PPTX
On the Unreliability of Bug Severity Data
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Improving the testing efficiency of selenium-based load tests
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying online distribution platforms for games through the mining of data f...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Which Log Level Should Developers Choose For a New Logging Statement?
Towards Just-in-Time Suggestions for Log Changes
The Impact of Task Granularity on Co-evolution Analyses
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
What Do Programmers Know about Software Energy Consumption?
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
On the Unreliability of Bug Severity Data

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Transform Your Business with a Software ERP System
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
ai tools demonstartion for schools and inter college
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Essential Infomation Tech presentation.pptx
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
medical staffing services at VALiNTRY
Design an Analysis of Algorithms I-SECS-1021-03
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
PTS Company Brochure 2025 (1).pdf.......
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
L1 - Introduction to python Backend.pptx
Odoo POS Development Services by CandidRoot Solutions
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Transform Your Business with a Software ERP System
Design an Analysis of Algorithms II-SECS-1021-03
Wondershare Filmora 15 Crack With Activation Key [2025
Which alternative to Crystal Reports is best for small or large businesses.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
How to Migrate SBCGlobal Email to Yahoo Easily
ai tools demonstartion for schools and inter college
CHAPTER 2 - PM Management and IT Context
Essential Infomation Tech presentation.pptx
wealthsignaloriginal-com-DS-text-... (1).pdf
medical staffing services at VALiNTRY

Log Engineering: Towards Systematic Log Mining to Support the Development of Ultra-Large Scale Systems

  • 1. 1 Weiyi Shang Supervisor: Dr. Ahmed E. Hassan Log Engineering: Towards Systematic Log Mining to Support the Development of Ultra-largeScale Systems
  • 2. Automated profiling & instrumentation are widely used in software engineering Overhead No domain knowledgeLarge scale 2
  • 3. Logs are a valuable source of information about system execution 3 Field informationDeveloper experience foo() { … Log_statement(“operation started”); … }
  • 4. Overview of log mining 4 Software System Log collection Log analysis Log transformation Goal
  • 5. Finding 1. Little research focuses on logging statements that reside in the source code. Finding 2. Little research focuses on logs generated during the development of system. 5 Software System Log collection Log analysis Log transformation Goal • Types of Logs: • Platform logs: Hadoop logs [Tan et al.] • Application logs: Dell DVD store logs [Jiang et al.] • Sources of Logs: • Logs from the field: [Kavulia et al.] • Logs during development: [Jiang et al.]
  • 6. Finding 3. Prior research primarily uses ad hoc log transformation techniques. 6 Software System Log collection Log analysis Log transformation Goal • Abstracted logs: Log events [Jiang et al.] • Vectors or sets: Pairs [Jiang et al.], Sequence [Jiang et al.], Suffix arrays [Nagappan et al.], Time series [Bitincka et al.] • Graphs: State machines [Tan et al.], Directed Graph[Nagappan et al.] • Matrixes: [Lou et al.]
  • 7. Finding 4. Prior log mining research does not address the scalability challenges. 7 Software System Log collection Log analysis Log transformation Goal • Simple calculation: filtering [Salfner et al. ] • Directed Graph-based algorithms: [Nagappan et al.] • Static analysis: [Yuan et al.] • Model checking: [Beschastnikh et al.] • Visualization: [De Pauw et al.] • Statistical methods: PCA [Xu et al.] • Data mining techniques: Co-occurrence analysis [Lou et al.] • Machine learning techniques: Prediction [Salfner et al.] • Other analysis techniques: Compression [Hassan et al.]
  • 8. Finding 5. There exists limited software log mining research to support software development activities 8 Software System Log collection Log analysis Log transformation Goal • Log mining platforms: [Bitincka et al.] • Log improvements: [Yuan et al.] • Log mining for system administration • Anomaly detection [Xu et al.] • System monitoring [Rabkin et al.] • Work load recovery and capacity planning [Kavulia et al.] • Log mining for software engineering • Program comprehension: [Beschastnikh et al.] • Software testing: [Jiang et al.] • Empirical studies: [Yuan et al.]
  • 9. Thesis statement Logs are a valuable yet rarely explored source of knowledge about a software system and its operation. There is little research regarding the understanding and evolution of logs. Systematic and scalable log mining approaches are needed to support various software development activities (e.g., code quality improvement, large scale testing and deployment of ultra-large scale applications). 9
  • 10. 10 Part 1: Study the challenges associated with understanding and evolving logging statements Part 2: Log engineering approaches to support software development activities What are the challenges in understanding logging statements? [Submitted to ICSM 2014] How do logging statements evolve? [WCRE 2011 , JESP] Prioritizing code review and testing efforts using logs and their churn. [EMSE] Verifying deployment of Big Data Analytics applications using logs. [ICSE 2013 ]
  • 11. 11 Part 1: Study the challenges associated with understanding and evolving logging statements Part 2: Log engineering approaches to support software development activities What are the challenges in understanding logging statements? How do logging statements evolve? Prioritizing code review and testing efforts using logs and their churn. Verifying deployment of Big Data Analytics applications using logs.
  • 12. Motivation: Log understanding is challenging 12 User mailing lists Hadoop Cassandra Zookeeper 14 inquiries asked about 5 types of information 2 11 1 6 1 0 5 10 Meaning Cause Context Solution Impact # inquires [ICSM 2014 in submission]
  • 13. Approach: Attaching development knowledge to logs 13 Code commit Issue reports Source code /* … */ Call graph Code comments [ICSM 2014 in submission]
  • 14. Development knowledge can resolve real-life inquiries Development knowledge can provide help in resolving 9 out of 14 real-life inquiries from the user mailing list 0 2 4 6 8 10 12 Meaning Cause Context Solution Impact # not answered inquires # answered inquires 14 [ICSM 2014 in submission]
  • 15. 15 Part 1: Study the challenges associated with understanding and evolving logging statements Part 2: Log engineering approaches to support software development activities What are the challenges in understanding logging statements? How do logging statements evolve? Prioritizing code review and testing efforts using logs and their churn. Verifying deployment of Big Data Analytics applications using logs.
  • 16. Motivation: How to keep Log Processing Apps in sync with logs? Release 1 Release 2 Release 3 16 [WCRE 2011 best paper, JSEP]
  • 17. Approach: Studying log evolution at the execution level Data Collection Log Abstraction System Deployment time=1, Trying to launch, TaskID=01A time=$t, Trying to launch, TaskID=$id Enterprise Application (EA) 17 Log Events [WCRE 2011 best paper, JSEP]
  • 18. Generating Abstract Syntax Tree Identifying logging statements Source code Log.info (“time=%d, Trying to launch, TaskID=%s”, time, taskid); time=$t, Trying to launch, TaskID=$id 18 Logging statements Approach: Studying log evolution at the code level [WCRE 2011 best paper, JSEP]
  • 19. How do log evolve over time? 19 Growing & changing Document & track What types of modifications happen to logs? What information is conveyed by the short-lived logs? Quantity Type Content 8 types Are mostly avoidable Implementation- level details Fragile Maintenance effort Results [WCRE 2011 best paper, JSEP]
  • 20. 20 Part 1: Study the challenges associated with understanding and evolving logging statements Part 2: Log engineering approaches to support software development activities What are the challenges in understanding logging statements? How do logging statements evolve? Prioritizing code review and testing efforts using logs and their churn. Verifying deployment of Big Data Analytics applications using logs.
  • 21. Approach: Building statistical models for post- release defects 21 Logistic Regression Model Traditional metrics Traditional metrics Log-related metrics Logistic Regression Model • Are log-related metrics significant in the models? • How much explanatory power improvement can log-related metrics provide over traditional metrics?[EMSE]
  • 22. 22 Log density Average logging level Log add density Log delete density Co-change of log and bug fix Product Process Approach: Defining log-related metrics Lines of code Pre-release defects Total prior commits log-related metrics Traditional metrics Product Process [EMSE]
  • 23. 23 There is relationship between logging characteristics and software quality. Results • In 7 out of 8 studied releases, at least one log-related metric is statistically significant in enhancing the model with only traditional metrics. • The log-related metrics provide up to 40% improvement over the explanatory power of the traditional metrics. 0.16.0 to 0.19.0 3.0 to 4.0 [EMSE]
  • 24. 24 Part 1: Study the challenges associated with understanding and evolving logging statements Part 2: Log engineering approaches to support software development activities What are the challenges in understanding logging statements? How do logging statements evolve? Prioritizing code review and testing efforts using logs and their churn. Verifying deployment of Big Data Analytics applications using logs.
  • 25. How to verify the deployment of Big Data Analytics Apps? 25 Small sample data and pseudo cloud Big data and real-life cloud How to verify [ICSE 2013 distinguished paper]
  • 26. Traditional approach for verifying BDA apps 26 Keyword scan Many false positives!! Large results, too much effort to manually examine [ICSE 2013 distinguished paper]
  • 27. Overview of our approach 27 Small sample data and pseudo cloud Big data and real-life cloud Underlying platform Underlying platform Execution sequences Execution sequences Execution sequence delta [ICSE 2013 distinguished paper]
  • 28. Comparing small and large runs 28 Logs from testing run with small data Logs from run with large data Execution sequence E1, E2, E3, E5, E6 Execution sequence E1, E2, E3, E5, E6 E1, E2, E3, E7, E5, E6 Execution sequence delta E1, E2, E3, E7, E5, E6 [ICSE 2013 distinguished paper]
  • 29. How precise is our approach? Precision 29 Effort Reduction How much effort reduction does our approach provide? Reduce logs for manual inspection by over 86% Less false positive [ICSE 2013 distinguished paper]
  • 30. Thesis contribution • We demonstrate the challenges of understanding logs. • We show that logging statements continually evolve. • We show that there is a relationship between logging characteristics and software defects. • We propose approaches that leverage logs to verify the deployment of Big Data Analytics applications. 30
  • 31. 31
  • 32. 32
  • 33. Where else can we find the requested information? 33 Code commit Issue reports Source code /* … */ Code comments Call graph fetch failure From method checkAndInformJobTracker of file ShuffleScheduler.java
  • 34. Where else can we find the requested information? 34 Code commit Issue reports Source code /* … */ Code comments Call graph fetch failure Notify the JobTracker after every read error, if `reportReadErrorImmediately' is true or after every `maxFetchFailuresBeforeReporting' failures
  • 35. Where else can we find the requested information? 35 Code commit Issue reports Source code /* … */ Code comments Call graph fetch failure Called by method copyFailed in class ShuffleScheduler
  • 36. Where else can we find the requested information? 36 Code commit Issue reports Source code /* … */ Code comments Call graph fetch failure Allow shuffle retries and read-error reporting to be configurable. Contributed by Amareshwari Sriramadasu.
  • 37. Where else can we find the requested information? 37 Code commit Issue reports Source code /* … */ Code comments Call graph fetch failure MAPREDUCE-1171. … This is caused by a behavioral change in hadoop 0.20.1. … …One solution I could see is "Provide a config option... ”…
  • 38. Where else can we find the requested information? 38 Code commit Issue reports Source code /* … */ Code comments Call graph fetch failure Meaning: There is a data reading error. Cause: One of the possible reasons is a configuration. Context: The event happens during the shuffle period, while copying data. Impact: The event impacts the jobtracker. Solution: Changing a configuration option would solve the issue. Amareshwari Sriramadasu is the expert to go to.
  • 39. Step 1: Log Abstraction reduces the size of logs 39 Log abstraction Log Linking Simplifying sequences Example of log lines Execution events Jiang et al. JSME 2008
  • 40. Step 2: Log linking provides context for logs 40 Log abstraction Log Linking Simplifying sequences Example of log lines Execution events
  • 41. Step 3: Sequence simplification deals with repeated logs 41 Log abstraction Log Linking Simplifying sequences Repeated logs: task t1 read file A. task t1 read file A. task t1 read file A. Remove repetition and order of events

Editor's Notes

  • #2: Introduce my self and topic Title large
  • #3: To understand system behavior Example of why we need it No-domain knowledge* Entire system rather than an important part
  • #4: Logs record important events of system, developers put logs there
  • #5: Title 5 tto 9
  • #6: Title 5 tto 9
  • #11: Priority change figure
  • #12: Churn=> how logs change
  • #13: Disconnect between dev and system admin
  • #14: neon
  • #15: Emphysize on this slide more for take-home
  • #16: Priority change figure
  • #17: Explain LPA
  • #18: Example of the workload. Hadoop wordcount. Dell DVD store.
  • #19: By knowing the logging method, I get the logging statements e.g, log4j
  • #20: Example of the log types: rephrase Short-lived logs: what’s that Fragile=> break the LPA
  • #21: Priority change figure
  • #22: What traditional metrics is: well studied in practice and accepted by community
  • #23: Logging level: what’s that
  • #25: Priority change figure
  • #26: BDA
  • #28: Underlying platform: hadoop
  • #30: 3 applications, real ones
  • #32: First part, we study logging in practice, second part, we propose log mining techniques
  • #34: neon
  • #35: neon
  • #36: neon
  • #37: neon
  • #38: neon
  • #39: neon
  • #41: +animation here