SlideShare a Scribd company logo
An Exploratory Study of the Evolution of
Communicated Information
about the Execution of Large Software Systems
Weiyi Shang
Zhen Ming Jiang
Bram Adams
Ahmed E. Hassan
Michael W. Godfrey
University of WaterlooQueen’s University
Mohamed Nasser
Parminder Flora
Research In Motion (RIM)
2
What run-time actions cause the
failure?
Automated profiling & instrumentation
Detail No domain knowledgeLarge scale
3
Communicated information (CI)
Execution
Logs
System
Alerts
Code
Comments
/*
…
*/
StaticDynamic
4
Field experienceDeveloper experience
CI forms basis of Ecosystem of Log Processing
Apps
Workload recoveryAnomaly
detection
Capacity
planning System
monitoring
Performance
analysis
5
Failure
diagnosis
How to keep Log Processing Apps in sync with
CI?
Release 1 Release 2 Release 3
6
Our Study Dimensions
What types of
modifications
happen to CI?
What information is
conveyed by the
short-lived CI?
Quantity Type Content
How does CI
evolve over
time?
7
Case Study Setup
Data
Collection
Log
Abstraction
System
Deployment
time=1, Trying to launch, TaskID=01A
time=$t, Trying to launch, TaskID=$id
Enterprise Application (EA)
8
Log
Events
Our Study Dimensions
What types of
modifications
happen to CI?
What information is
conveyed by the
short-lived CI?
Quantity Type Content
How does CI
evolve over
time?
9
CI keeps on growing over time
0
20
40
60
80
100
120
140
160
180
0.14.0
0.15.0
0.16.0
0.17.0
0.18.0
0.19.0
0.20.0
0.20.1
0.20.2
0.21.0
releases
#
execution
events
10
…even when system size decreases
# K SLOC # Execution log events
0.19.0 293 113
0.20.0 250 121
11
CI is impacted by re-engineering
0.00%
20.00%
40.00%
60.00%
80.00%
100.00%
0.15.0 0.16.0 0.17.0 0.18.0 0.19.0 0.20.0 0.20.1 0.20.2 0.21.0
Unchanged CI
Large amounts of implementation changes
12
How does CI
evolve over
time?
13
Growing &
changing
Document &
track
What types of
modifications
happen to CI?
What information is
conveyed by the
short-lived CI?
Quantity Type Content
Six types of modification exist
Rephrasing Redundant
information
Adding
information
Deleting
information
Diverging Merging
14
Six types of modification exist
Rephrasing Redundant
information
Adding
information
Deleting
information
Diverging Merging
Hadoop mapred Reduce task fetch n bytes
Hadoop MapReduce task Reduce fetch n bytes
15
Six types of modification exist
Rephrasing Redundant
information
Adding
information
Deleting
information
Diverging Merging
ShuffleRamManager memory limit n MaxSingleShuffleLimit m
ShuffleRamManager memory limit n MaxSingleShuffleLimit
m mergeThreshold Q
16
Six types of modification exist
Rephrasing Redundant
information
Adding
information
Deleting
information
Diverging Merging
Adding task to tasktracker
Adding Map Task to
tasktracker
Adding Reduce Task to
tasktracker
17
Six types of modification exist
Rephrasing Redundant
information
Adding
information
Deleting
information
Diverging Merging
Avoidable
18
Six types of modification exist
Rephrasing Redundant
information
Adding
information
Deleting
information
Diverging Merging
Recoverable
19
Six types of modification exist
Rephrasing Redundant
information
Adding
information
Deleting
information
Diverging Merging
Unavoidable
20
Most modifications can be avoided
9.86%
61.97%
14.08%
7.04% 7.04% 2.82%
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
100.00%
redundant
info
rephrasing adding info deleting
info
diverging merging
avoidable recoverable unavoidable
21
How does CI
evolve over
time?
22
Growing &
changing
Document &
track
What types of
modifications
happen to CI?
What information is
conveyed by the
short-lived CI?
Quantity Type Content
6 types
Are mostly
avoidable
Short-lived CI contains implementation details
Hadoop saves output to a machine.
Hadoop assigns a reduce task to a machine.
Map task updates its progress.
Hadoop reads from a local file.
Hadoop Attempt saves its output and reports to
the task tracker.
23
Node name
Local path
Using ipc
Output file name
How does CI
evolve over
time?
24
Growing &
changing
Document &
track
What types of
modifications
happen to CI?
What information is
conveyed by the
short-lived CI?
Quantity Type Content
6 types
Are mostly
avoidable
Implementation-
level details
Fragile
Maintenance
effort
25
26
27
What happened
in the game?
My favorite soccer team lost
Let’s try to find out by ourselves
• All game details
• 90 minutes
• Have to form my
own interpretation
• Only essential events
• 5 minutes
• Provided by experts of
the domain
28

More Related Content

Similar to Ian wcre2011

Icse2013 shang
Icse2013 shangIcse2013 shang
Icse2013 shang
SAIL_QU
 
Trivento summercamp masterclass 9/9/2016
Trivento summercamp masterclass 9/9/2016Trivento summercamp masterclass 9/9/2016
Trivento summercamp masterclass 9/9/2016
Stavros Kontopoulos
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Flink Forward
 
2015-09-16 IoT in Oil and Gas Conference
2015-09-16 IoT in Oil and Gas Conference2015-09-16 IoT in Oil and Gas Conference
2015-09-16 IoT in Oil and Gas Conference
Mark Reynolds
 
Time series databases
Time series databasesTime series databases
Time series databases
Source Ministry
 
4Developers: Time series databases
4Developers: Time series databases4Developers: Time series databases
4Developers: Time series databases
PROIDEA
 
Health & Status Monitoring (2010-v8)
Health & Status Monitoring (2010-v8)Health & Status Monitoring (2010-v8)
Health & Status Monitoring (2010-v8)
Robert Grossman
 
Elections Canada
Elections CanadaElections Canada
Elections Canada
Pierre Gagnon
 
The Connected Data Imperative: Why Graphs? at Neo4j GraphDay New York City
The Connected Data Imperative: Why Graphs? at Neo4j GraphDay New York CityThe Connected Data Imperative: Why Graphs? at Neo4j GraphDay New York City
The Connected Data Imperative: Why Graphs? at Neo4j GraphDay New York City
Neo4j
 
The future Proof Financial: Fintech
The future Proof Financial: FintechThe future Proof Financial: Fintech
The future Proof Financial: Fintech
Martijn Zoet
 
Trivento summercamp fast data 9/9/2016
Trivento summercamp fast data 9/9/2016Trivento summercamp fast data 9/9/2016
Trivento summercamp fast data 9/9/2016
Stavros Kontopoulos
 
The Machine Learning Audit. MIS ITAC 2017 Keynote
The Machine Learning Audit. MIS ITAC 2017 KeynoteThe Machine Learning Audit. MIS ITAC 2017 Keynote
The Machine Learning Audit. MIS ITAC 2017 Keynote
Andrew Clark
 
Streaming HYpothesis REasoning
Streaming HYpothesis REasoningStreaming HYpothesis REasoning
Streaming HYpothesis REasoning
William Smith
 
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
Brian Brazil
 
MADES - A Multi-Layered, Adaptive, Distributed Event Store
MADES - A Multi-Layered, Adaptive, Distributed Event StoreMADES - A Multi-Layered, Adaptive, Distributed Event Store
MADES - A Multi-Layered, Adaptive, Distributed Event Store
Tilmann Rabl
 
Systems analysis and design (abe)
Systems analysis and design (abe)Systems analysis and design (abe)
Systems analysis and design (abe)
International University of Management
 
EDA Meets Data Engineering – What's the Big Deal?
EDA Meets Data Engineering – What's the Big Deal?EDA Meets Data Engineering – What's the Big Deal?
EDA Meets Data Engineering – What's the Big Deal?
confluent
 
Finding bad apples early: Minimizing performance impact
Finding bad apples early: Minimizing performance impactFinding bad apples early: Minimizing performance impact
Finding bad apples early: Minimizing performance impact
Arun Kejariwal
 
OpsRamp Platform Winter 2020 Release
OpsRamp Platform Winter 2020 ReleaseOpsRamp Platform Winter 2020 Release
OpsRamp Platform Winter 2020 Release
OpsRamp
 
Bhawani prasad data integration-ppt
Bhawani prasad data integration-pptBhawani prasad data integration-ppt
Bhawani prasad data integration-ppt
Bhawani N Prasad
 

Similar to Ian wcre2011 (20)

Icse2013 shang
Icse2013 shangIcse2013 shang
Icse2013 shang
 
Trivento summercamp masterclass 9/9/2016
Trivento summercamp masterclass 9/9/2016Trivento summercamp masterclass 9/9/2016
Trivento summercamp masterclass 9/9/2016
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
 
2015-09-16 IoT in Oil and Gas Conference
2015-09-16 IoT in Oil and Gas Conference2015-09-16 IoT in Oil and Gas Conference
2015-09-16 IoT in Oil and Gas Conference
 
Time series databases
Time series databasesTime series databases
Time series databases
 
4Developers: Time series databases
4Developers: Time series databases4Developers: Time series databases
4Developers: Time series databases
 
Health & Status Monitoring (2010-v8)
Health & Status Monitoring (2010-v8)Health & Status Monitoring (2010-v8)
Health & Status Monitoring (2010-v8)
 
Elections Canada
Elections CanadaElections Canada
Elections Canada
 
The Connected Data Imperative: Why Graphs? at Neo4j GraphDay New York City
The Connected Data Imperative: Why Graphs? at Neo4j GraphDay New York CityThe Connected Data Imperative: Why Graphs? at Neo4j GraphDay New York City
The Connected Data Imperative: Why Graphs? at Neo4j GraphDay New York City
 
The future Proof Financial: Fintech
The future Proof Financial: FintechThe future Proof Financial: Fintech
The future Proof Financial: Fintech
 
Trivento summercamp fast data 9/9/2016
Trivento summercamp fast data 9/9/2016Trivento summercamp fast data 9/9/2016
Trivento summercamp fast data 9/9/2016
 
The Machine Learning Audit. MIS ITAC 2017 Keynote
The Machine Learning Audit. MIS ITAC 2017 KeynoteThe Machine Learning Audit. MIS ITAC 2017 Keynote
The Machine Learning Audit. MIS ITAC 2017 Keynote
 
Streaming HYpothesis REasoning
Streaming HYpothesis REasoningStreaming HYpothesis REasoning
Streaming HYpothesis REasoning
 
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
Your data is in Prometheus, now what? (CurrencyFair Engineering Meetup, 2016)
 
MADES - A Multi-Layered, Adaptive, Distributed Event Store
MADES - A Multi-Layered, Adaptive, Distributed Event StoreMADES - A Multi-Layered, Adaptive, Distributed Event Store
MADES - A Multi-Layered, Adaptive, Distributed Event Store
 
Systems analysis and design (abe)
Systems analysis and design (abe)Systems analysis and design (abe)
Systems analysis and design (abe)
 
EDA Meets Data Engineering – What's the Big Deal?
EDA Meets Data Engineering – What's the Big Deal?EDA Meets Data Engineering – What's the Big Deal?
EDA Meets Data Engineering – What's the Big Deal?
 
Finding bad apples early: Minimizing performance impact
Finding bad apples early: Minimizing performance impactFinding bad apples early: Minimizing performance impact
Finding bad apples early: Minimizing performance impact
 
OpsRamp Platform Winter 2020 Release
OpsRamp Platform Winter 2020 ReleaseOpsRamp Platform Winter 2020 Release
OpsRamp Platform Winter 2020 Release
 
Bhawani prasad data integration-ppt
Bhawani prasad data integration-pptBhawani prasad data integration-ppt
Bhawani prasad data integration-ppt
 

More from SAIL_QU

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

More from SAIL_QU (20)

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

Ian wcre2011

  • 1. An Exploratory Study of the Evolution of Communicated Information about the Execution of Large Software Systems Weiyi Shang Zhen Ming Jiang Bram Adams Ahmed E. Hassan Michael W. Godfrey University of WaterlooQueen’s University Mohamed Nasser Parminder Flora Research In Motion (RIM)
  • 2. 2 What run-time actions cause the failure?
  • 3. Automated profiling & instrumentation Detail No domain knowledgeLarge scale 3
  • 5. CI forms basis of Ecosystem of Log Processing Apps Workload recoveryAnomaly detection Capacity planning System monitoring Performance analysis 5 Failure diagnosis
  • 6. How to keep Log Processing Apps in sync with CI? Release 1 Release 2 Release 3 6
  • 7. Our Study Dimensions What types of modifications happen to CI? What information is conveyed by the short-lived CI? Quantity Type Content How does CI evolve over time? 7
  • 8. Case Study Setup Data Collection Log Abstraction System Deployment time=1, Trying to launch, TaskID=01A time=$t, Trying to launch, TaskID=$id Enterprise Application (EA) 8 Log Events
  • 9. Our Study Dimensions What types of modifications happen to CI? What information is conveyed by the short-lived CI? Quantity Type Content How does CI evolve over time? 9
  • 10. CI keeps on growing over time 0 20 40 60 80 100 120 140 160 180 0.14.0 0.15.0 0.16.0 0.17.0 0.18.0 0.19.0 0.20.0 0.20.1 0.20.2 0.21.0 releases # execution events 10
  • 11. …even when system size decreases # K SLOC # Execution log events 0.19.0 293 113 0.20.0 250 121 11
  • 12. CI is impacted by re-engineering 0.00% 20.00% 40.00% 60.00% 80.00% 100.00% 0.15.0 0.16.0 0.17.0 0.18.0 0.19.0 0.20.0 0.20.1 0.20.2 0.21.0 Unchanged CI Large amounts of implementation changes 12
  • 13. How does CI evolve over time? 13 Growing & changing Document & track What types of modifications happen to CI? What information is conveyed by the short-lived CI? Quantity Type Content
  • 14. Six types of modification exist Rephrasing Redundant information Adding information Deleting information Diverging Merging 14
  • 15. Six types of modification exist Rephrasing Redundant information Adding information Deleting information Diverging Merging Hadoop mapred Reduce task fetch n bytes Hadoop MapReduce task Reduce fetch n bytes 15
  • 16. Six types of modification exist Rephrasing Redundant information Adding information Deleting information Diverging Merging ShuffleRamManager memory limit n MaxSingleShuffleLimit m ShuffleRamManager memory limit n MaxSingleShuffleLimit m mergeThreshold Q 16
  • 17. Six types of modification exist Rephrasing Redundant information Adding information Deleting information Diverging Merging Adding task to tasktracker Adding Map Task to tasktracker Adding Reduce Task to tasktracker 17
  • 18. Six types of modification exist Rephrasing Redundant information Adding information Deleting information Diverging Merging Avoidable 18
  • 19. Six types of modification exist Rephrasing Redundant information Adding information Deleting information Diverging Merging Recoverable 19
  • 20. Six types of modification exist Rephrasing Redundant information Adding information Deleting information Diverging Merging Unavoidable 20
  • 21. Most modifications can be avoided 9.86% 61.97% 14.08% 7.04% 7.04% 2.82% 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00% redundant info rephrasing adding info deleting info diverging merging avoidable recoverable unavoidable 21
  • 22. How does CI evolve over time? 22 Growing & changing Document & track What types of modifications happen to CI? What information is conveyed by the short-lived CI? Quantity Type Content 6 types Are mostly avoidable
  • 23. Short-lived CI contains implementation details Hadoop saves output to a machine. Hadoop assigns a reduce task to a machine. Map task updates its progress. Hadoop reads from a local file. Hadoop Attempt saves its output and reports to the task tracker. 23 Node name Local path Using ipc Output file name
  • 24. How does CI evolve over time? 24 Growing & changing Document & track What types of modifications happen to CI? What information is conveyed by the short-lived CI? Quantity Type Content 6 types Are mostly avoidable Implementation- level details Fragile Maintenance effort
  • 25. 25
  • 26. 26
  • 27. 27 What happened in the game? My favorite soccer team lost
  • 28. Let’s try to find out by ourselves • All game details • 90 minutes • Have to form my own interpretation • Only essential events • 5 minutes • Provided by experts of the domain 28

Editor's Notes

  1. neon
  2. Apps make use of these logs
  3. Font bigger
  4. Fixing bugs then gone
  5. News paper