SlideShare a Scribd company logo
1 of 40
Download to read offline
1	
  
Understanding	
  Log	
  Lines	
  Using	
  
Development	
  Knowledge	
  
Ahmed	
  E.	
  Hassan	
  
Meiyappan	
  Nagappan	
  
Weiyi	
  Shang	
   	
  Zhen	
  Ming	
  Jiang	
  
Prac77oners	
  have	
  challenges	
  in	
  understanding	
  
log	
  lines	
  
2	
  
Fetch	
  failure	
  
What	
  exactly	
  
does	
  this	
  
message	
  mean?	
  
What	
  could	
  
be	
  the	
  
cause?	
  
Is	
  it	
  affecCng	
  
my	
  data?	
  
Prac77oners	
  either	
  ask	
  experts	
  to	
  help	
  or	
  
search	
  online	
  for	
  log	
  inquiries	
  
3	
  
We	
  performed	
  an	
  exploratory	
  study	
  on	
  3	
  large	
  
soAware	
  systems	
  
4	
  
Zookeeper	
  
5,641	
  logging	
  	
  
statements	
  
1,080	
  logging	
  	
  
statements	
  
1,163	
  logging	
  	
  
statements	
  
We	
  manually	
  examined	
  real-­‐life	
  inquiries	
  about	
  
log	
  lines	
  from	
  3	
  sources	
  
5	
  
User	
  mailing	
  lists	
  
Randomly	
  	
  
sampled	
  logs	
  
5	
  types	
  of	
  informa7on	
  are	
  inquired	
  about	
  logs	
  
6	
  
Meaning	
  
Cause	
  
Impact	
  
Solu7on	
  
Context	
  
What	
  exactly	
  does	
  this	
  
message	
  mean?	
  
When	
  does	
  this	
  occur?	
  
What	
  could	
  be	
  the	
  cause?	
  
How	
  can	
  I	
  avoid	
  this	
  message/
problem?	
  
Is	
  it	
  affecCng	
  my	
  data?	
  
Experts	
  are	
  crucial	
  in	
  resolving	
  log	
  inquiries	
  
7	
  
5	
  
1	
  
0	
  
1	
  
3	
  
0	
  
2	
  
0	
   0	
   0	
  
3	
  
0	
   0	
   0	
   0	
  
0	
  
1	
  
2	
  
3	
  
4	
  
5	
  
6	
  
by	
  expert	
   by	
  non-­‐expert	
   replied	
  by	
  
expert	
  
only	
  replied	
  by	
  
non-­‐expert	
  
not	
  answered	
  
resolved	
   un-­‐resolved	
  
Hadoop	
   Cassanddra	
   Zookeeper	
  
Experts	
  are	
  crucial	
  in	
  resolving	
  log	
  inquiries	
  
8	
  out	
  of	
  11	
  resolved	
  
inquiries	
  are	
  resolved	
  by	
  
experts.	
  	
   8	
  
5	
  
1	
  
0	
  
1	
  
3	
  
0	
  
2	
  
0	
   0	
   0	
  
3	
  
0	
   0	
   0	
   0	
  
0	
  
1	
  
2	
  
3	
  
4	
  
5	
  
6	
  
by	
  expert	
   by	
  non-­‐expert	
   replied	
  by	
  
expert	
  
only	
  replied	
  by	
  
non-­‐expert	
  
not	
  answered	
  
resolved	
   un-­‐resolved	
  
Hadoop	
   Cassanddra	
   Zookeeper	
  
Experts	
  are	
  crucial	
  in	
  resolving	
  log	
  inquiries	
  
9	
  
5	
  
1	
  
0	
  
1	
  
3	
  
0	
  
2	
  
0	
   0	
   0	
  
3	
  
0	
   0	
   0	
   0	
  
0	
  
1	
  
2	
  
3	
  
4	
  
5	
  
6	
  
by	
  expert	
   by	
  non-­‐expert	
   replied	
  by	
  
expert	
  
only	
  replied	
  by	
  
non-­‐expert	
  
not	
  answered	
  
resolved	
   un-­‐resolved	
  
Hadoop	
   Cassanddra	
   Zookeeper	
  
Inquiries	
  are	
  always	
  
resolved	
  if	
  experts	
  reply.	
  
Looking	
  for	
  an	
  expert	
  is	
  not	
  the	
  op7mal	
  
approach	
  to	
  resolve	
  log	
  inquiries	
  
10	
  
Over	
  20%	
  of	
  the	
  
inquires	
  have	
  no	
  reply.	
  
Wrong	
  answers	
  may	
  be	
  
posted	
  in	
  reply	
  to	
  
inquiries.	
  
IdenCfying	
  the	
  expert	
  
of	
  a	
  log	
  line	
  is	
  
challenging.	
  
First	
  reply	
  can	
  take	
  up	
  
to	
  210	
  hours.	
  
Can	
  we	
  document	
  the	
  inquired	
  logs?	
  
11	
  
Nothing	
  in	
  common	
  between	
  inquired	
  logs	
  
12	
  
An	
  on-­‐demand	
  approach	
  is	
  needed	
  to	
  assist	
  in	
  
understanding	
  logs.	
  
Different	
  log	
  
verbosity	
  levels	
  
0	
  to	
  2	
  degrees	
  of	
  
fan-­‐in	
  
0	
  to	
  200	
  prior	
  
code	
  change	
  
Real-­‐life	
  inquiries	
  
13	
  
We	
  propose	
  to	
  aQach	
  development	
  knowledge	
  
to	
  logs	
  
Code	
  
commit	
  
Issue	
  reports	
  
Source	
  code	
  
	
  
	
  
/*	
  
…	
  
*/	
  
Call	
  graph	
  
	
  Code	
  comments	
  
14	
  
Code	
  
commit	
  
Issue	
  reports	
  
Source	
  code	
  
	
  
	
  
/*	
  
…	
  
*/	
  
Code	
  
comments	
  
Call	
  graph	
  
fetch	
  failure	
  
From	
  method	
  	
  
checkAndInformJobTracker	
  
of	
  file	
  ShuffleScheduler.java	
  
An	
  example	
  of	
  using	
  development	
  knowledge	
  to	
  
resolve	
  inquiries	
  of	
  log	
  “fetch	
  failure”	
  
15	
  
Code	
  
commit	
  
Issue	
  reports	
  
Source	
  code	
  
	
  
	
  
/*	
  
…	
  
*/	
  
Code	
  
comments	
  
Call	
  graph	
  
fetch	
  failure	
  
NoCfy	
  the	
  JobTracker	
  a`er	
  every	
  read	
  error,	
  if	
  
`reportReadErrorImmediately'	
  is	
  true	
  or	
  a`er	
  
every	
  `maxFetchFailuresBeforeReporCng'	
  
failures	
  
An	
  example	
  of	
  using	
  development	
  knowledge	
  to	
  
resolve	
  inquiries	
  of	
  log	
  “fetch	
  failure”	
  
16	
  
Code	
  
commit	
  
Issue	
  reports	
  
Source	
  code	
  
	
  
	
  
/*	
  
…	
  
*/	
  
Code	
  
comments	
  
Call	
  graph	
  
fetch	
  failure	
  
Called	
  by	
  method	
  	
  
copyFailed	
  in	
  class	
  ShuffleScheduler	
  
An	
  example	
  of	
  using	
  development	
  knowledge	
  to	
  
resolve	
  inquiries	
  of	
  log	
  “fetch	
  failure”	
  
17	
  
Code	
  
commit	
  
Issue	
  reports	
  
Source	
  code	
  
	
  
	
  
/*	
  
…	
  
*/	
  
Code	
  
comments	
  
Call	
  graph	
  
fetch	
  failure	
  
Allow	
  shuffle	
  retries	
  and	
  read-­‐error	
  
reporCng	
  to	
  be	
  configurable.	
  Contributed	
  
by	
  Amareshwari	
  Sriramadasu.	
  
An	
  example	
  of	
  using	
  development	
  knowledge	
  to	
  
resolve	
  inquiries	
  of	
  log	
  “fetch	
  failure”	
  
18	
  
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	
  soluCon	
  I	
  could	
  see	
  is	
  "Provide	
  a	
  config	
  
opCon...	
  ”…	
  
An	
  example	
  of	
  using	
  development	
  knowledge	
  to	
  
resolve	
  inquiries	
  of	
  log	
  “fetch	
  failure”	
  
19	
  
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	
  configuraCon.	
  
Context:	
  The	
  event	
  happens	
  during	
  the	
  shuffle	
  period,	
  while	
  
copying	
  data.	
  
Impact:	
  The	
  event	
  impacts	
  the	
  jobtracker.	
  
Solu7on:	
  Changing	
  a	
  configuraCon	
  opCon	
  would	
  solve	
  the	
  issue.	
  
	
  
Amareshwari	
  Sriramadasu	
  is	
  the	
  expert	
  to	
  go	
  to.	
  
	
  
An	
  example	
  of	
  using	
  development	
  knowledge	
  to	
  
resolve	
  inquiries	
  of	
  log	
  “fetch	
  failure”	
  
Resolve	
  the	
  inquiry	
  by	
  development	
  
knowledge	
  
Go	
  to	
  the	
  expert	
  for	
  help.	
  
20	
  
Overview	
  of	
  our	
  approach	
  
Version	
  
control	
  
system	
  
GeneraCng	
  
templates	
  
for	
  logs	
  
Matching	
  logs	
  
with	
  log	
  
templates	
  
Alaching	
  development	
  
knowledge	
  to	
  logs	
  
Source	
  
code	
  
Log	
  
templates	
  
Development	
  
knowledge	
  
21	
  
Step	
  1:	
  Genera7ng	
  templates	
  for	
  logs	
  
Version	
  
control	
  
system	
  
	
  	
  foo()	
  {	
  
	
  	
  	
  	
  	
  …	
  
	
  	
  	
  	
  Log_statement(“7me=%d,	
  
Trying	
  to	
  launch,	
  TaskID=
%s”,	
  7me,	
  taskid);	
  
	
  	
  	
  	
  …	
  
}	
  
	
  
	
  	
  7me=d+,	
  Trying	
  to	
  
launch,	
  TaskID=S+	
  	
  
	
  	
  	
  
22	
  
Step	
  2:	
  Matching	
  logs	
  with	
  log	
  templates	
  
	
  
Cme=d+,	
  Trying	
  to	
  
launch,	
  TaskID=S+	
  	
  
	
  	
  	
  
7me=1,	
  Trying	
  to	
  launch,	
  
TaskID=task_1	
  	
  
	
  
Cme=2,	
  launch	
  task,	
  TaskID=task_1	
  
…	
  
	
  
Cme=10,	
  task	
  finished,	
  TaskID=task+1	
  
Log	
  template	
  
Logs	
  
Step	
  3:	
  AQaching	
  development	
  knowledge	
  to	
  
logs	
  
23	
  
Code	
  
commit	
  
Issue	
  reports	
  
Source	
  code	
  
	
  
	
  
/*	
  
…	
  
*/	
  
Call	
  graph	
  
	
  Code	
  comments	
  
Version	
  
control	
  
system	
  
Issue	
  
tracking	
  
system	
  
Can	
  development	
  
knowledge	
  complement	
  
logging	
  statements?	
  
Complemen7ng	
  
logging	
  statements	
  
24	
  
Resolving	
  real-­‐
life	
  log	
  inquiries	
  
Can	
  development	
  knowledge	
  
help	
  resolve	
  real-­‐life	
  
inquiries?	
  
We	
  compare	
  our	
  approach	
  against	
  Google	
  and	
  
mailing	
  list	
  for	
  resolving	
  real-­‐life	
  log	
  inquiries	
  
25	
  
Real-­‐life	
  inquiries	
  
0%	
  
10%	
  
20%	
  
30%	
  
40%	
  
50%	
  
60%	
  
70%	
  
80%	
  
Percentage	
  of	
  resolved	
  log	
  inquiries	
  
Our	
  approach	
  outperforms	
  Google	
  and	
  is	
  
comparable	
  to	
  mailing	
  lists	
  to	
  resolve	
  log	
  
inquiries	
  
26	
  
0%	
  
20%	
  
40%	
  
60%	
  
80%	
  
100%	
  
Meaning	
   Cause	
   Context	
   Solu7on	
   Impact	
  
Percentage	
  of	
  each	
  type	
  of	
  inquired	
  informa7on	
  provided	
  by	
  
our	
  approach	
  
Our	
  approach	
  provides	
  62%	
  of	
  inquired	
  log	
  
informa7on	
  
27	
  
Complemen7ng	
  
logging	
  statements	
  
28	
  
Resolving	
  Log	
  
Inquiries	
  
Can	
  Development	
  Knowledge	
  
Help	
  Resolve	
  Real-­‐life	
  
Inquiries?	
  
YES!	
  
Can	
  development	
  
knowledge	
  complement	
  
logging	
  statements?	
  
Complemen7ng	
  
logging	
  statements	
  
29	
  
Resolving	
  Log	
  
Inquiries	
  
Can	
  Development	
  Knowledge	
  
Help	
  Resolve	
  Real-­‐life	
  
Inquiries?	
  
YES!	
  
Can	
  development	
  
knowledge	
  complement	
  
logging	
  statements?	
  
We	
  complement	
  a	
  random	
  sample	
  of	
  logging	
  
statements	
  using	
  our	
  approach	
  
30	
  
Zookeeper	
  
300	
  randomly	
  
sampled	
  logging	
  
statements	
  
Development	
  knowledge	
  can	
  complement	
  
logging	
  statements	
  
31	
  
0	
  
20	
  
40	
  
60	
  
80	
  
100	
  
meaning	
   cause	
   context	
   soluCon	
   impact	
  
Percentage	
  of	
  logging	
  statements	
  complemented	
  by	
  our	
  
approach	
  
Hadoop	
  
Cassandra	
  
Zookeeper	
  
Issue	
  reports	
  are	
  the	
  best	
  development	
  knowledge	
  
to	
  complement	
  logging	
  statements.	
  
Complemen7ng	
  
logging	
  statements	
  
32	
  
Resolving	
  Log	
  
Inquiries	
  
Can	
  Development	
  Knowledge	
  
Help	
  Resolve	
  Real-­‐life	
  
Inquiries?	
  
YES!	
   YES!	
  
Can	
  development	
  
knowledge	
  complement	
  
logging	
  statements?	
  
Prac77oners	
  have	
  challenges	
  in	
  understanding	
  
log	
  lines	
  
33	
  
Fetch	
  failure	
  
What	
  exactly	
  
does	
  this	
  
message	
  mean?	
  
…	
  could	
  this	
  
be	
  the	
  
cause?	
  
Is	
  it	
  affecCng	
  
my	
  data?	
  
34	
  
5	
  types	
  of	
  informa7on	
  are	
  inquired	
  about	
  logs	
  
35	
  
Meaning	
  
Cause	
  
Impact	
  
Solu7on	
  
Context	
  
What	
  exactly	
  does	
  this	
  
message	
  mean?	
  
When	
  does	
  this	
  occur?	
  
…	
  could	
  this	
  be	
  the	
  cause?	
  
It	
  will	
  be	
  great	
  if	
  some	
  one	
  can	
  
point	
  to	
  the	
  direcCon	
  how	
  to	
  
solve	
  this?	
  
Is	
  it	
  affecCng	
  my	
  data?	
  
36	
  
37	
  
We	
  propose	
  to	
  aQach	
  development	
  knowledge	
  
to	
  logs	
  
Code	
  
commit	
  
Issue	
  reports	
  
Source	
  code	
  
	
  
	
  
/*	
  
…	
  
*/	
  
Call	
  graph	
  
	
  Code	
  comments	
  
38	
  
Complemen7ng	
  
logging	
  statements	
  
39	
  
Resolving	
  Log	
  
Inquiries	
  
Can	
  Development	
  Knowledge	
  
Help	
  Resolve	
  Real-­‐life	
  
Inquiries?	
  
YES!	
   YES!	
  
Can	
  development	
  
knowledge	
  complement	
  
logging	
  statements?	
  
40	
  
hQp://7nyurl.com/hirePhD	
  

More Related Content

What's hot

Understanding Log Lines using Development Knowledge
Understanding Log Lines using Development KnowledgeUnderstanding Log Lines using Development Knowledge
Understanding Log Lines using Development KnowledgeSAIL_QU
 
Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSung Kim
 
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)Sung Kim
 
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
 
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Feng Zhang
 
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...Chakkrit (Kla) Tantithamthavorn
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Chakkrit (Kla) Tantithamthavorn
 
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningDeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningSung Kim
 
Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...SAIL_QU
 
A Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesA Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesSung Kim
 
Dissertation Defense
Dissertation DefenseDissertation Defense
Dissertation DefenseSung Kim
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect predictionThomas Zimmermann
 
An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...SAIL_QU
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect predictionAmmAr mobark
 
Nobody Knows What It’s Like To Be the Bad Man: The Development Process for th...
Nobody Knows What It’s Like To Be the Bad Man: The Development Process for th...Nobody Knows What It’s Like To Be the Bad Man: The Development Process for th...
Nobody Knows What It’s Like To Be the Bad Man: The Development Process for th...Work-Bench
 
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Sung Kim
 
Protecting the Protector, Hardening Machine Learning Defenses Against Adversa...
Protecting the Protector, Hardening Machine Learning Defenses Against Adversa...Protecting the Protector, Hardening Machine Learning Defenses Against Adversa...
Protecting the Protector, Hardening Machine Learning Defenses Against Adversa...Priyanka Aash
 
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...Chakkrit (Kla) Tantithamthavorn
 
Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Chakkrit (Kla) Tantithamthavorn
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...Chakkrit (Kla) Tantithamthavorn
 

What's hot (20)

Understanding Log Lines using Development Knowledge
Understanding Log Lines using Development KnowledgeUnderstanding Log Lines using Development Knowledge
Understanding Log Lines using Development Knowledge
 
Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled Datasets
 
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
CrashLocator: Locating Crashing Faults Based on Crash Stacks (ISSTA 2014)
 
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
 
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
Cross-project Defect Prediction Using A Connectivity-based Unsupervised Class...
 
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...
 
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningDeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
 
Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...
 
A Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution TechniquesA Survey on Automatic Software Evolution Techniques
A Survey on Automatic Software Evolution Techniques
 
Dissertation Defense
Dissertation DefenseDissertation Defense
Dissertation Defense
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect prediction
 
Nobody Knows What It’s Like To Be the Bad Man: The Development Process for th...
Nobody Knows What It’s Like To Be the Bad Man: The Development Process for th...Nobody Knows What It’s Like To Be the Bad Man: The Development Process for th...
Nobody Knows What It’s Like To Be the Bad Man: The Development Process for th...
 
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)
 
Protecting the Protector, Hardening Machine Learning Defenses Against Adversa...
Protecting the Protector, Hardening Machine Learning Defenses Against Adversa...Protecting the Protector, Hardening Machine Learning Defenses Against Adversa...
Protecting the Protector, Hardening Machine Learning Defenses Against Adversa...
 
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
 
Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...
 
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
An Empirical Comparison of Model Validation Techniques for Defect Prediction ...
 

Similar to ICSME2014

Works For Me! Characterizing Non-Reproducible Bug Reports
Works For Me! Characterizing Non-Reproducible Bug ReportsWorks For Me! Characterizing Non-Reproducible Bug Reports
Works For Me! Characterizing Non-Reproducible Bug ReportsSALT Lab @ UBC
 
So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application… NomadPHP July 2016So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application… NomadPHP July 2016Joe Ferguson
 
So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...Joe Ferguson
 
Practices of agile developers
Practices of agile developersPractices of agile developers
Practices of agile developersDUONG Trong Tan
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecurityTao Xie
 
debuggingSession.pptx
debuggingSession.pptxdebuggingSession.pptx
debuggingSession.pptxmarawanwael
 
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...DataMind-slides
 
FaultHunter workshop (SourceMeter for SonarQube plugin module)
FaultHunter workshop (SourceMeter for SonarQube plugin module)FaultHunter workshop (SourceMeter for SonarQube plugin module)
FaultHunter workshop (SourceMeter for SonarQube plugin module)FrontEndART
 
How to Have Code Reviews That Developers Actually Want
How to Have Code Reviews That Developers Actually WantHow to Have Code Reviews That Developers Actually Want
How to Have Code Reviews That Developers Actually WantCameron Presley
 
ThoughtWorks Tech Talks NYC: DevOops, 10 Ops Things You Might Have Forgotten ...
ThoughtWorks Tech Talks NYC: DevOops, 10 Ops Things You Might Have Forgotten ...ThoughtWorks Tech Talks NYC: DevOops, 10 Ops Things You Might Have Forgotten ...
ThoughtWorks Tech Talks NYC: DevOops, 10 Ops Things You Might Have Forgotten ...Rosemary Wang
 
Abcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosasAbcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosasMerce Crosas
 
Graph-Based Source Code Analysis of JavaScript Repositories
Graph-Based Source Code Analysis of JavaScript Repositories Graph-Based Source Code Analysis of JavaScript Repositories
Graph-Based Source Code Analysis of JavaScript Repositories Dániel Stein
 
Kaiser Permanente CSUN 2018
Kaiser Permanente CSUN 2018Kaiser Permanente CSUN 2018
Kaiser Permanente CSUN 2018Mark Stimson
 
How to Meta-Sumo - Using Logs for Agile Monitoring of Production Services
How to Meta-Sumo - Using Logs for Agile Monitoring of Production ServicesHow to Meta-Sumo - Using Logs for Agile Monitoring of Production Services
How to Meta-Sumo - Using Logs for Agile Monitoring of Production ServicesChristian Beedgen
 
Introduction Machine Learning by MyLittleAdventure
Introduction Machine Learning by MyLittleAdventureIntroduction Machine Learning by MyLittleAdventure
Introduction Machine Learning by MyLittleAdventuremylittleadventure
 
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
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestCory Foy
 
Jeremiah Yancy | Skills and techniques of the Systems Analyst
Jeremiah Yancy | Skills and techniques of the Systems AnalystJeremiah Yancy | Skills and techniques of the Systems Analyst
Jeremiah Yancy | Skills and techniques of the Systems AnalystJeremiah Yancy
 

Similar to ICSME2014 (20)

Works For Me! Characterizing Non-Reproducible Bug Reports
Works For Me! Characterizing Non-Reproducible Bug ReportsWorks For Me! Characterizing Non-Reproducible Bug Reports
Works For Me! Characterizing Non-Reproducible Bug Reports
 
So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application… NomadPHP July 2016So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application… NomadPHP July 2016
 
Fuzzing - Part 2
Fuzzing - Part 2Fuzzing - Part 2
Fuzzing - Part 2
 
So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...
 
Practices of agile developers
Practices of agile developersPractices of agile developers
Practices of agile developers
 
10 Ways To Improve Your Code
10 Ways To Improve Your Code10 Ways To Improve Your Code
10 Ways To Improve Your Code
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
 
debuggingSession.pptx
debuggingSession.pptxdebuggingSession.pptx
debuggingSession.pptx
 
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
DataMind: An e-learning platform for Data Analysis based on R. RBelgium meetu...
 
FaultHunter workshop (SourceMeter for SonarQube plugin module)
FaultHunter workshop (SourceMeter for SonarQube plugin module)FaultHunter workshop (SourceMeter for SonarQube plugin module)
FaultHunter workshop (SourceMeter for SonarQube plugin module)
 
How to Have Code Reviews That Developers Actually Want
How to Have Code Reviews That Developers Actually WantHow to Have Code Reviews That Developers Actually Want
How to Have Code Reviews That Developers Actually Want
 
ThoughtWorks Tech Talks NYC: DevOops, 10 Ops Things You Might Have Forgotten ...
ThoughtWorks Tech Talks NYC: DevOops, 10 Ops Things You Might Have Forgotten ...ThoughtWorks Tech Talks NYC: DevOops, 10 Ops Things You Might Have Forgotten ...
ThoughtWorks Tech Talks NYC: DevOops, 10 Ops Things You Might Have Forgotten ...
 
Abcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosasAbcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosas
 
Graph-Based Source Code Analysis of JavaScript Repositories
Graph-Based Source Code Analysis of JavaScript Repositories Graph-Based Source Code Analysis of JavaScript Repositories
Graph-Based Source Code Analysis of JavaScript Repositories
 
Kaiser Permanente CSUN 2018
Kaiser Permanente CSUN 2018Kaiser Permanente CSUN 2018
Kaiser Permanente CSUN 2018
 
How to Meta-Sumo - Using Logs for Agile Monitoring of Production Services
How to Meta-Sumo - Using Logs for Agile Monitoring of Production ServicesHow to Meta-Sumo - Using Logs for Agile Monitoring of Production Services
How to Meta-Sumo - Using Logs for Agile Monitoring of Production Services
 
Introduction Machine Learning by MyLittleAdventure
Introduction Machine Learning by MyLittleAdventureIntroduction Machine Learning by MyLittleAdventure
Introduction Machine Learning by MyLittleAdventure
 
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...
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
 
Jeremiah Yancy | Skills and techniques of the Systems Analyst
Jeremiah Yancy | Skills and techniques of the Systems AnalystJeremiah Yancy | Skills and techniques of the Systems Analyst
Jeremiah Yancy | Skills and techniques of the Systems Analyst
 

Recently uploaded

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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
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
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
[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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
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...
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
[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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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 ...
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

ICSME2014

  • 1. 1   Understanding  Log  Lines  Using   Development  Knowledge   Ahmed  E.  Hassan   Meiyappan  Nagappan   Weiyi  Shang    Zhen  Ming  Jiang  
  • 2. Prac77oners  have  challenges  in  understanding   log  lines   2   Fetch  failure   What  exactly   does  this   message  mean?   What  could   be  the   cause?   Is  it  affecCng   my  data?  
  • 3. Prac77oners  either  ask  experts  to  help  or   search  online  for  log  inquiries   3  
  • 4. We  performed  an  exploratory  study  on  3  large   soAware  systems   4   Zookeeper   5,641  logging     statements   1,080  logging     statements   1,163  logging     statements  
  • 5. We  manually  examined  real-­‐life  inquiries  about   log  lines  from  3  sources   5   User  mailing  lists   Randomly     sampled  logs  
  • 6. 5  types  of  informa7on  are  inquired  about  logs   6   Meaning   Cause   Impact   Solu7on   Context   What  exactly  does  this   message  mean?   When  does  this  occur?   What  could  be  the  cause?   How  can  I  avoid  this  message/ problem?   Is  it  affecCng  my  data?  
  • 7. Experts  are  crucial  in  resolving  log  inquiries   7   5   1   0   1   3   0   2   0   0   0   3   0   0   0   0   0   1   2   3   4   5   6   by  expert   by  non-­‐expert   replied  by   expert   only  replied  by   non-­‐expert   not  answered   resolved   un-­‐resolved   Hadoop   Cassanddra   Zookeeper  
  • 8. Experts  are  crucial  in  resolving  log  inquiries   8  out  of  11  resolved   inquiries  are  resolved  by   experts.     8   5   1   0   1   3   0   2   0   0   0   3   0   0   0   0   0   1   2   3   4   5   6   by  expert   by  non-­‐expert   replied  by   expert   only  replied  by   non-­‐expert   not  answered   resolved   un-­‐resolved   Hadoop   Cassanddra   Zookeeper  
  • 9. Experts  are  crucial  in  resolving  log  inquiries   9   5   1   0   1   3   0   2   0   0   0   3   0   0   0   0   0   1   2   3   4   5   6   by  expert   by  non-­‐expert   replied  by   expert   only  replied  by   non-­‐expert   not  answered   resolved   un-­‐resolved   Hadoop   Cassanddra   Zookeeper   Inquiries  are  always   resolved  if  experts  reply.  
  • 10. Looking  for  an  expert  is  not  the  op7mal   approach  to  resolve  log  inquiries   10   Over  20%  of  the   inquires  have  no  reply.   Wrong  answers  may  be   posted  in  reply  to   inquiries.   IdenCfying  the  expert   of  a  log  line  is   challenging.   First  reply  can  take  up   to  210  hours.  
  • 11. Can  we  document  the  inquired  logs?   11  
  • 12. Nothing  in  common  between  inquired  logs   12   An  on-­‐demand  approach  is  needed  to  assist  in   understanding  logs.   Different  log   verbosity  levels   0  to  2  degrees  of   fan-­‐in   0  to  200  prior   code  change   Real-­‐life  inquiries  
  • 13. 13   We  propose  to  aQach  development  knowledge   to  logs   Code   commit   Issue  reports   Source  code       /*   …   */   Call  graph    Code  comments  
  • 14. 14   Code   commit   Issue  reports   Source  code       /*   …   */   Code   comments   Call  graph   fetch  failure   From  method     checkAndInformJobTracker   of  file  ShuffleScheduler.java   An  example  of  using  development  knowledge  to   resolve  inquiries  of  log  “fetch  failure”  
  • 15. 15   Code   commit   Issue  reports   Source  code       /*   …   */   Code   comments   Call  graph   fetch  failure   NoCfy  the  JobTracker  a`er  every  read  error,  if   `reportReadErrorImmediately'  is  true  or  a`er   every  `maxFetchFailuresBeforeReporCng'   failures   An  example  of  using  development  knowledge  to   resolve  inquiries  of  log  “fetch  failure”  
  • 16. 16   Code   commit   Issue  reports   Source  code       /*   …   */   Code   comments   Call  graph   fetch  failure   Called  by  method     copyFailed  in  class  ShuffleScheduler   An  example  of  using  development  knowledge  to   resolve  inquiries  of  log  “fetch  failure”  
  • 17. 17   Code   commit   Issue  reports   Source  code       /*   …   */   Code   comments   Call  graph   fetch  failure   Allow  shuffle  retries  and  read-­‐error   reporCng  to  be  configurable.  Contributed   by  Amareshwari  Sriramadasu.   An  example  of  using  development  knowledge  to   resolve  inquiries  of  log  “fetch  failure”  
  • 18. 18   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  soluCon  I  could  see  is  "Provide  a  config   opCon...  ”…   An  example  of  using  development  knowledge  to   resolve  inquiries  of  log  “fetch  failure”  
  • 19. 19   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  configuraCon.   Context:  The  event  happens  during  the  shuffle  period,  while   copying  data.   Impact:  The  event  impacts  the  jobtracker.   Solu7on:  Changing  a  configuraCon  opCon  would  solve  the  issue.     Amareshwari  Sriramadasu  is  the  expert  to  go  to.     An  example  of  using  development  knowledge  to   resolve  inquiries  of  log  “fetch  failure”   Resolve  the  inquiry  by  development   knowledge   Go  to  the  expert  for  help.  
  • 20. 20   Overview  of  our  approach   Version   control   system   GeneraCng   templates   for  logs   Matching  logs   with  log   templates   Alaching  development   knowledge  to  logs   Source   code   Log   templates   Development   knowledge  
  • 21. 21   Step  1:  Genera7ng  templates  for  logs   Version   control   system      foo()  {            …          Log_statement(“7me=%d,   Trying  to  launch,  TaskID= %s”,  7me,  taskid);          …   }        7me=d+,  Trying  to   launch,  TaskID=S+          
  • 22. 22   Step  2:  Matching  logs  with  log  templates     Cme=d+,  Trying  to   launch,  TaskID=S+           7me=1,  Trying  to  launch,   TaskID=task_1       Cme=2,  launch  task,  TaskID=task_1   …     Cme=10,  task  finished,  TaskID=task+1   Log  template   Logs  
  • 23. Step  3:  AQaching  development  knowledge  to   logs   23   Code   commit   Issue  reports   Source  code       /*   …   */   Call  graph    Code  comments   Version   control   system   Issue   tracking   system  
  • 24. Can  development   knowledge  complement   logging  statements?   Complemen7ng   logging  statements   24   Resolving  real-­‐ life  log  inquiries   Can  development  knowledge   help  resolve  real-­‐life   inquiries?  
  • 25. We  compare  our  approach  against  Google  and   mailing  list  for  resolving  real-­‐life  log  inquiries   25   Real-­‐life  inquiries  
  • 26. 0%   10%   20%   30%   40%   50%   60%   70%   80%   Percentage  of  resolved  log  inquiries   Our  approach  outperforms  Google  and  is   comparable  to  mailing  lists  to  resolve  log   inquiries   26  
  • 27. 0%   20%   40%   60%   80%   100%   Meaning   Cause   Context   Solu7on   Impact   Percentage  of  each  type  of  inquired  informa7on  provided  by   our  approach   Our  approach  provides  62%  of  inquired  log   informa7on   27  
  • 28. Complemen7ng   logging  statements   28   Resolving  Log   Inquiries   Can  Development  Knowledge   Help  Resolve  Real-­‐life   Inquiries?   YES!   Can  development   knowledge  complement   logging  statements?  
  • 29. Complemen7ng   logging  statements   29   Resolving  Log   Inquiries   Can  Development  Knowledge   Help  Resolve  Real-­‐life   Inquiries?   YES!   Can  development   knowledge  complement   logging  statements?  
  • 30. We  complement  a  random  sample  of  logging   statements  using  our  approach   30   Zookeeper   300  randomly   sampled  logging   statements  
  • 31. Development  knowledge  can  complement   logging  statements   31   0   20   40   60   80   100   meaning   cause   context   soluCon   impact   Percentage  of  logging  statements  complemented  by  our   approach   Hadoop   Cassandra   Zookeeper   Issue  reports  are  the  best  development  knowledge   to  complement  logging  statements.  
  • 32. Complemen7ng   logging  statements   32   Resolving  Log   Inquiries   Can  Development  Knowledge   Help  Resolve  Real-­‐life   Inquiries?   YES!   YES!   Can  development   knowledge  complement   logging  statements?  
  • 33. Prac77oners  have  challenges  in  understanding   log  lines   33   Fetch  failure   What  exactly   does  this   message  mean?   …  could  this   be  the   cause?   Is  it  affecCng   my  data?  
  • 34. 34  
  • 35. 5  types  of  informa7on  are  inquired  about  logs   35   Meaning   Cause   Impact   Solu7on   Context   What  exactly  does  this   message  mean?   When  does  this  occur?   …  could  this  be  the  cause?   It  will  be  great  if  some  one  can   point  to  the  direcCon  how  to   solve  this?   Is  it  affecCng  my  data?  
  • 36. 36  
  • 37. 37   We  propose  to  aQach  development  knowledge   to  logs   Code   commit   Issue  reports   Source  code       /*   …   */   Call  graph    Code  comments  
  • 38. 38  
  • 39. Complemen7ng   logging  statements   39   Resolving  Log   Inquiries   Can  Development  Knowledge   Help  Resolve  Real-­‐life   Inquiries?   YES!   YES!   Can  development   knowledge  complement   logging  statements?