SlideShare uma empresa Scribd logo
1 de 78
Baixar para ler offline
Personalized
Defect Prediction

Tian Jiang

Lin Tan

University of
Waterloo

University of
Waterloo

Sunghun Kim
Hong Kong University of
Science and Technology

1
How to Find Bugs?
• Code Review
• Testing
• Static Analysis
• Dynamic Analysis
• Verification
• Defect Prediction
2
2
Defect Prediction

Software
History

Predictor

Future
Defect

3
3
Developers are Different

4
4
Developers are Different
Modulo %

FOR

Bitwise OR

CONTINUE

% of Buggy Changes

80
60
40
20
0

A

B

C

D

Average
Linux Kernel, 2005-2010

4
4
Developers are Different
Modulo %

FOR

Bitwise OR

CONTINUE

% of Buggy Changes

80
60
40
20
0

A

B

C

D

Average
Linux Kernel, 2005-2010

4
4
Developers are Different
Modulo %

FOR

Bitwise OR

CONTINUE

% of Buggy Changes

80
60
40
20
0

A

B

C

D

Average
Linux Kernel, 2005-2010

Personalized models can improve performance.
4
4
Successes in Other Fields

5
5
Successes in Other Fields

•

Google personalized search

5
5
Successes in Other Fields

•
•

Google personalized search
Facebook personalized ad placement

5
5
Contributions

6
6
Contributions
•

Personalized Change Classification (PCC)
✦ One model for each developer

6
6
Contributions
•

Personalized Change Classification (PCC)
✦ One model for each developer

•

Confidence-based Hybrid PCC (PCC+)
✦ Picks predictions with highest confidence

6
6
Contributions
•

Personalized Change Classification (PCC)
✦ One model for each developer

•

Confidence-based Hybrid PCC (PCC+)
✦ Picks predictions with highest confidence

•

Evaluate on six C and Java projects
✦ Find up to 155 more bugs by inspecting
20% LOC
✦ Improve F1 by up to 0.08
6
6
What is a Change?

7
7
What is a Change?
Commit: 09a02f...
Author: John Smith
Message: I submitted some code.
file1.c
+
+
+
-

file2.c
+
-

file3.c
+
+
-

7
7
What is a Change?

Commit

Commit: 09a02f...
Author: John Smith
Message: I submitted some code.
file1.c
+
+
+
-

file2.c
+
-

file3.c
+
+
-

Change 1 Change 2 Change 3

7
7
What is a Change?

Commit

Commit: 09a02f...
Author: John Smith
Message: I submitted some code.
file1.c
+
+
+
-

file2.c
+
-

file3.c
+
+
-

Change 1 Change 2 Change 3
Change-Level: Inspect less code to locate a bug.
7
7
Change Classification (CC)

8
8
Change Classification (CC)
Training Phase

Prediction Phase

Software
History

8
8
Change Classification (CC)
Training Phase

Software
History

Prediction Phase

Training
Instances

1. Label changes
with clean or buggy
8
8
Change Classification (CC)
Training Phase

Software
History

Training
Instances

1. Label changes
with clean or buggy

Prediction Phase

Features
2. Extract
features

8
8
Change Classification (CC)
Training Phase

Software
History

Training
Instances

1. Label changes
with clean or buggy

Prediction Phase

Features
2. Extract
features

Classification
Algorithm

Model

3. Build prediction
model
8
8
Change Classification (CC)
Training Phase

Software
History

Training
Instances

1. Label changes
with clean or buggy

Prediction Phase

Features
2. Extract
features

Classification
Algorithm

3. Build prediction
model

Model

Future
Instances

4. Predict

8
8
Label Clean or Buggy

9
9
Label Clean or Buggy
[Sliwerski et al. ’05]
Revision History

9
9
Label Clean or Buggy
[Sliwerski et al. ’05]
Revision History
Bug-Fixing Change
Commit: 1da57...
Message: I fixed a bug
fileA.c
- if (i < 128)
+if (i <= 128)
Contain keyword “fix”, or
ID of manually verified bug report [Herzif et al. ’13]

9
9
Label Clean or Buggy
[Sliwerski et al. ’05]
Revision History
Buggy Change

Bug-Fixing Change

Commit: 7a3bc...
Message: new feature
fileA.c
+...
+if (i < 128)
+...

Commit: 1da57...
Message: I fixed a bug
fileA.c

Fixed by a later change

git blame

- if (i < 128)
+if (i <= 128)
Contain keyword “fix”, or
ID of manually verified bug report [Herzif et al. ’13]

9
9
Three Types of Features

10
10
Three Types of Features

• Metadata
• Bag-of-Words
• Characteristic Vector

10
10
Characteristic Vector

11
11
Characteristic Vector
Count Abstract Syntax Tree (AST) nodes

11
11
Characteristic Vector
Count Abstract Syntax Tree (AST) nodes
for (...; ...; ...) {
for (...; ...; ...) {
if (...) ...;
}
}

11
11
Characteristic Vector
Count Abstract Syntax Tree (AST) nodes
for:
if:
while:
...

for (...; ...; ...) {
for (...; ...; ...) {
if (...) ...;
}
}

11
11
Characteristic Vector
Count Abstract Syntax Tree (AST) nodes
for:
if:
while:
...

for (...; ...; ...) {
for (...; ...; ...) {
if (...) ...;
}
}

2
1
0

11
11
CC: Training

12
12
CC: Training

Training Instances

Model

12
12
CC: Training

Training Instances

Model

12
12
CC: Prediction

Unlabeled
Changes

13
13
CC: Prediction

Unlabeled
Changes

Model

Predicted
Changes

13
13
PCC: Training

14
14
PCC: Training

Training Instances

14
14
PCC: Training

Dev 1

Training Instances

Dev 2

Dev 3
Group Changes by Developer
14
14
PCC: Training
Model 1
Dev 1

Model 2
Training Instances

Dev 2

Model 3
Dev 3
Group Changes by Developer

Training
14
14
PCC: Prediction
Model 1

Model 2

Model 3

15
15
PCC: Prediction
Model 1

Model 2
(Dev 2)
Model 3
Choose a Model by Developer

15
15
PCC: Prediction
Model 1

Model 2
(Dev 2)
Model 3
Choose a Model by Developer

Prediction

15
15
PCC+: Prediction

16
16
PCC+: Prediction
Combiner

CC

PCC
Feed Changes to All Models

Prediction

16
16
Confidence Measure

17
17
Confidence Measure
•

Bugginess
✦ Probability of a change being buggy

17
17
Confidence Measure
•

Bugginess
✦ Probability of a change being buggy

•

Confidence Measure
✦ Comparable measure of confidence

17
17
Confidence Measure
•

Bugginess
✦ Probability of a change being buggy

•

Confidence Measure
✦ Comparable measure of confidence

•

Select the prediction with the highest confidence.

17
17
Research Questions

18
18
Research Questions
•

RQ1: Do PCC and PCC+ outperform CC?

18
18
Research Questions
•
•

RQ1: Do PCC and PCC+ outperform CC?
RQ2: Does PCC outperform CC in other setups?
✦ Classification algorithms
✦ Sizes of training sets

18
18
Two Metrics

19
19
Two Metrics
•

F1-Score
✦ Harmonic mean of precision and recall

19
19
Two Metrics
•

F1-Score
✦ Harmonic mean of precision and recall

•

Cost Effectiveness
✦ Relevant in cost sensitive scenarios
✦ NofB20: Number of Bugs discovered by
inspecting top 20% lines of code

19
19
Cost Effectiveness
Cumulative LOC

Changes

LOC

10%

Buggy #1

10

15%

Buggy #2

5

19%

Buggy #3

4

27%

Buggy #4

8

Buggy #5

12

...

...
100

20
20
Cost Effectiveness
Cumulative LOC

Changes

LOC

10%

Buggy #1

10

15%

Buggy #2

5

19%

Buggy #3

4

27%

Buggy #4

8

Buggy #5

12

...

...
100

20
20
Cost Effectiveness
Cumulative LOC

Changes

LOC

10%

Buggy #1

10

15%

Buggy #2

5

19%

Buggy #3

4

27%

Buggy #4

8

Buggy #5

12

...

...
100

20
20
Cost Effectiveness
Cumulative LOC

Changes

LOC

10%

Buggy #1

10

15%

Buggy #2

5

19%

Buggy #3

4

27%

Buggy #4

8

Buggy #5

12

...

...
100

20
20
Cost Effectiveness
Cumulative LOC

Changes

LOC

10%

Buggy #1

10

15%

Buggy #2

5

19%

Buggy #3

4

27%

Buggy #4

8

Buggy #5

12

...

...
100

20
20
Cost Effectiveness
Cumulative LOC

Changes

LOC

10%

Buggy #1

10

15%

Buggy #2

5

19%

Buggy #3

4

27%

Buggy #4

8

Buggy #5

12

...

...
100

20
20
Cost Effectiveness
Cumulative LOC

Changes

LOC

10%

Buggy #1

10

15%

Buggy #2

5

19%

Buggy #3

4

27%

Buggy #4

8

Buggy #5

12

...

...
100

21
21
Cost Effectiveness
Cumulative LOC

10%
15%
19%
27%

Changes

LOC

ug
Buggy #1B
e
ru
T

10

Buggy #2

5

ug
Buggy #3B
e
ru
T
ug
Buggy #4B
e
ru
T

4
8

Buggy #5

12

...

...

NofB20=3

100

21
21
Test Subjects
Projects

Language

LOC

# of Changes

Linux kernel

C

7.3M

429K

PostgreSQL

C

289K

89K

Xorg

C

1.1M

46K

Eclipse

Java

1.5M

73K

Lucene*

Java

828K

76K

Jackrabbit*

Java

589K

61K

* With manually labelled bug report data [Herzif et al. ’13]
22
22
PCC/PCC+ vs. CC
Decision Tree, NofB20

23
23
PCC/PCC+ vs. CC
Decision Tree, NofB20
Projects

CC

PCC

Delta

PCC+

Delta

Linux

160

179

+19

172

+12

PostgreSQL

55

210

+155

175

+120

Xorg

96

159

+63

161

+65

Eclipse

116

207

+91

200

+84

Lucene

177

254

+77

257

+80

Jackrabbit

411

449

+38

459

+48

Average

-

-

+74

-

+68

Statistical significant deltas are in bold.

23
23
PCC/PCC+ outperforms CC.

24
24
Different Classification Alg.
NofB20
Projects

Naive Bayes

Logistic Regression

CC

PCC

Delta

CC

PCC

Delta

Linux

138

147

+9

102

137

+35

PostgreSQL

89

113

+24

46

56

+10

Xorg

84

101

+17

52

29

-23

Eclipse

65

108

+43

54

55

+1

Lucene

152

139

-13

30

200

+170

Jackrabbit

420

414

-6

261

370

+109

Average

-

-

+12

-

-

+59

Statistical significant deltas are in bold.
25
25
Different Classification Alg.
NofB20
Projects

Naive Bayes

Logistic Regression

CC

PCC

Delta

CC

PCC

Delta

Linux

138

147

+9

102

137

+35

PostgreSQL

89

113

+24

46

56

+10

Xorg

84

101

+17

52

29

-23

Eclipse

65

108

+43

54

55

+1

Lucene

152

139

-13

30

200

+170

Jackrabbit

420

414

-6

261

370

+109

Average

-

-

+12

-

-

+59

Statistical significant deltas are in bold.
25
25
Different Training Set Sizes
PCC

CC

300

NofB20

250
200
150
100

10

20

30

40

50

60

70

80

90

Training Set Size Per Developer

26
26
Different Training Set Sizes
PCC

CC

300

NofB20

250
200
150
100

10

20

30

40

50

60

70

80

90

Training Set Size Per Developer

26
26
The improvement presents in
other setups.

27
27
Related Work

•

Kim et al., Classifying software changes: Clean or
buggy?, TSE ’08

•

Bettenburg et al., Think locally, act globally: Improving
defect and effort prediction models, MSR ’12

28
28
Conclusions & Future Work
•
•

PCC and PCC+ improve prediction performance.

•

Personalized approach can be applied to other fields.

The improvement presents in other setups.

✦ Recommendation systems
✦ Vulnerability prediction
✦ Top crashes prediction
29
29

Mais conteúdo relacionado

Mais procurados

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
Sung 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
 
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
Sung Kim
 
Improving Fault Localization for Simulink Models using Search-Based Testing a...
Improving Fault Localization for Simulink Models using Search-Based Testing a...Improving Fault Localization for Simulink Models using Search-Based Testing a...
Improving Fault Localization for Simulink Models using Search-Based Testing a...
Lionel Briand
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Lionel Briand
 
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow ControllersEffective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Lionel Briand
 
Automated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignAutomated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and Design
Lionel Briand
 
Change Impact Analysis for Natural Language Requirements
Change Impact Analysis for Natural Language RequirementsChange Impact Analysis for Natural Language Requirements
Change Impact Analysis for Natural Language Requirements
Lionel Briand
 

Mais procurados (20)

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
 
Transfer defect learning
Transfer defect learningTransfer defect learning
Transfer defect learning
 
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...
 
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)
 
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
How We Get There: A Context-Guided Search Strategy in Concolic Testing (FSE 2...
 
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
 
Presentation slides: "How to get 100% code coverage"
Presentation slides: "How to get 100% code coverage" Presentation slides: "How to get 100% code coverage"
Presentation slides: "How to get 100% code coverage"
 
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
Survey on Software Defect Prediction (PhD Qualifying Examination Presentation)
 
Survey on Software Defect Prediction
Survey on Software Defect PredictionSurvey on Software Defect Prediction
Survey on Software Defect Prediction
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
Improving Fault Localization for Simulink Models using Search-Based Testing a...
Improving Fault Localization for Simulink Models using Search-Based Testing a...Improving Fault Localization for Simulink Models using Search-Based Testing a...
Improving Fault Localization for Simulink Models using Search-Based Testing a...
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
 
SBST 2019 Keynote
SBST 2019 Keynote SBST 2019 Keynote
SBST 2019 Keynote
 
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow ControllersEffective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
Effective Test Suites for ! Mixed Discrete-Continuous Stateflow Controllers
 
Automated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignAutomated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and Design
 
Pragmatic Code Coverage
Pragmatic Code CoveragePragmatic Code Coverage
Pragmatic Code Coverage
 
Change Impact Analysis for Natural Language Requirements
Change Impact Analysis for Natural Language RequirementsChange Impact Analysis for Natural Language Requirements
Change Impact Analysis for Natural Language Requirements
 
Dissertation Defense
Dissertation DefenseDissertation Defense
Dissertation Defense
 
Static Analysis of Your OSS Project with Coverity
Static Analysis of Your OSS Project with CoverityStatic Analysis of Your OSS Project with Coverity
Static Analysis of Your OSS Project with Coverity
 
Declarative Performance Testing Automation - Automating Performance Testing f...
Declarative Performance Testing Automation - Automating Performance Testing f...Declarative Performance Testing Automation - Automating Performance Testing f...
Declarative Performance Testing Automation - Automating Performance Testing f...
 

Semelhante a Personalized Defect Prediction

Cross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionCross-Project Build Co-change Prediction
Cross-Project Build Co-change Prediction
Shane McIntosh
 
Mining Co-Change Information to Understand when Build Changes are Necessary
Mining Co-Change Information to Understand when Build Changes are NecessaryMining Co-Change Information to Understand when Build Changes are Necessary
Mining Co-Change Information to Understand when Build Changes are Necessary
Shane McIntosh
 

Semelhante a Personalized Defect Prediction (20)

Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
Cross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionCross-Project Build Co-change Prediction
Cross-Project Build Co-change Prediction
 
Metrics-driven Continuous Delivery
Metrics-driven Continuous DeliveryMetrics-driven Continuous Delivery
Metrics-driven Continuous Delivery
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
Driving Innovation with Kanban at Jaguar Land Rover
Driving Innovation with Kanban at Jaguar Land RoverDriving Innovation with Kanban at Jaguar Land Rover
Driving Innovation with Kanban at Jaguar Land Rover
 
the grinder testing certification
the grinder testing certificationthe grinder testing certification
the grinder testing certification
 
How to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsHow to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOps
 
Lessons Learned from Using Spark for Evaluating Road Detection at BMW Autonom...
Lessons Learned from Using Spark for Evaluating Road Detection at BMW Autonom...Lessons Learned from Using Spark for Evaluating Road Detection at BMW Autonom...
Lessons Learned from Using Spark for Evaluating Road Detection at BMW Autonom...
 
[Meetup] a successful migration from elastic search to clickhouse
[Meetup] a successful migration from elastic search to clickhouse[Meetup] a successful migration from elastic search to clickhouse
[Meetup] a successful migration from elastic search to clickhouse
 
ISTQB Technical Test Analyst (CTAL-TTA) Certification | Question & Answer
ISTQB Technical Test Analyst (CTAL-TTA) Certification | Question & AnswerISTQB Technical Test Analyst (CTAL-TTA) Certification | Question & Answer
ISTQB Technical Test Analyst (CTAL-TTA) Certification | Question & Answer
 
How to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery PipelineHow to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery Pipeline
 
Keeping Master Green at Scale
Keeping Master Green at ScaleKeeping Master Green at Scale
Keeping Master Green at Scale
 
QSDA2022: Qlik Sense Data Architect | Q & A
QSDA2022: Qlik Sense Data Architect | Q & AQSDA2022: Qlik Sense Data Architect | Q & A
QSDA2022: Qlik Sense Data Architect | Q & A
 
Improving the Quality of Existing Software
Improving the Quality of Existing SoftwareImproving the Quality of Existing Software
Improving the Quality of Existing Software
 
Accelerating Product Development FLOW: Kanban at Jaguar Land Rover
Accelerating Product Development FLOW: Kanban at Jaguar Land RoverAccelerating Product Development FLOW: Kanban at Jaguar Land Rover
Accelerating Product Development FLOW: Kanban at Jaguar Land Rover
 
Evolution of Vehicle aftter it has been released, How its made and managed
Evolution of Vehicle aftter it has been released, How its made and managedEvolution of Vehicle aftter it has been released, How its made and managed
Evolution of Vehicle aftter it has been released, How its made and managed
 
From V8 to Modern Compilers
From V8 to Modern CompilersFrom V8 to Modern Compilers
From V8 to Modern Compilers
 
Improving the Quality of Existing Software - DevIntersection April 2016
Improving the Quality of Existing Software - DevIntersection April 2016Improving the Quality of Existing Software - DevIntersection April 2016
Improving the Quality of Existing Software - DevIntersection April 2016
 
Mining Co-Change Information to Understand when Build Changes are Necessary
Mining Co-Change Information to Understand when Build Changes are NecessaryMining Co-Change Information to Understand when Build Changes are Necessary
Mining Co-Change Information to Understand when Build Changes are Necessary
 
How to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectHow to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator Project
 

Mais de Sung Kim

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
Sung Kim
 
Heterogeneous Defect Prediction (

ESEC/FSE 2015)
Heterogeneous Defect Prediction (

ESEC/FSE 2015)Heterogeneous Defect Prediction (

ESEC/FSE 2015)
Heterogeneous Defect Prediction (

ESEC/FSE 2015)
Sung Kim
 
Source code comprehension on evolving software
Source code comprehension on evolving softwareSource code comprehension on evolving software
Source code comprehension on evolving software
Sung Kim
 
A Survey on Dynamic Symbolic Execution for Automatic Test Generation
A Survey on  Dynamic Symbolic Execution  for Automatic Test GenerationA Survey on  Dynamic Symbolic Execution  for Automatic Test Generation
A Survey on Dynamic Symbolic Execution for Automatic Test Generation
Sung Kim
 
MSR2014 opening
MSR2014 openingMSR2014 opening
MSR2014 opening
Sung Kim
 
Puzzle-Based Automatic Testing: Bringing Humans Into the Loop by Solving Puzz...
Puzzle-Based Automatic Testing: Bringing Humans Into the Loop by Solving Puzz...Puzzle-Based Automatic Testing: Bringing Humans Into the Loop by Solving Puzz...
Puzzle-Based Automatic Testing: Bringing Humans Into the Loop by Solving Puzz...
Sung Kim
 
Self-defending software: Automatically patching errors in deployed software ...
Self-defending software: Automatically patching  errors in deployed software ...Self-defending software: Automatically patching  errors in deployed software ...
Self-defending software: Automatically patching errors in deployed software ...
Sung Kim
 

Mais de Sung Kim (18)

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
 
Time series classification
Time series classificationTime series classification
Time series classification
 
Tensor board
Tensor boardTensor board
Tensor board
 
Heterogeneous Defect Prediction (

ESEC/FSE 2015)
Heterogeneous Defect Prediction (

ESEC/FSE 2015)Heterogeneous Defect Prediction (

ESEC/FSE 2015)
Heterogeneous Defect Prediction (

ESEC/FSE 2015)
 
Source code comprehension on evolving software
Source code comprehension on evolving softwareSource code comprehension on evolving software
Source code comprehension on evolving software
 
A Survey on Dynamic Symbolic Execution for Automatic Test Generation
A Survey on  Dynamic Symbolic Execution  for Automatic Test GenerationA Survey on  Dynamic Symbolic Execution  for Automatic Test Generation
A Survey on Dynamic Symbolic Execution for Automatic Test Generation
 
MSR2014 opening
MSR2014 openingMSR2014 opening
MSR2014 opening
 
Automatic patch generation learned from human written patches
Automatic patch generation learned from human written patchesAutomatic patch generation learned from human written patches
Automatic patch generation learned from human written patches
 
The Anatomy of Developer Social Networks
The Anatomy of Developer Social NetworksThe Anatomy of Developer Social Networks
The Anatomy of Developer Social Networks
 
A Survey on Automatic Test Generation and Crash Reproduction
A Survey on Automatic Test Generation and Crash ReproductionA Survey on Automatic Test Generation and Crash Reproduction
A Survey on Automatic Test Generation and Crash Reproduction
 
How Do Software Engineers Understand Code Changes? FSE 2012
How Do Software Engineers Understand Code Changes? FSE 2012How Do Software Engineers Understand Code Changes? FSE 2012
How Do Software Engineers Understand Code Changes? FSE 2012
 
Defect, defect, defect: PROMISE 2012 Keynote
Defect, defect, defect: PROMISE 2012 Keynote Defect, defect, defect: PROMISE 2012 Keynote
Defect, defect, defect: PROMISE 2012 Keynote
 
Predicting Recurring Crash Stacks (ASE 2012)
Predicting Recurring Crash Stacks (ASE 2012)Predicting Recurring Crash Stacks (ASE 2012)
Predicting Recurring Crash Stacks (ASE 2012)
 
Puzzle-Based Automatic Testing: Bringing Humans Into the Loop by Solving Puzz...
Puzzle-Based Automatic Testing: Bringing Humans Into the Loop by Solving Puzz...Puzzle-Based Automatic Testing: Bringing Humans Into the Loop by Solving Puzz...
Puzzle-Based Automatic Testing: Bringing Humans Into the Loop by Solving Puzz...
 
Software Development Meets the Wisdom of Crowds
Software Development Meets the Wisdom of CrowdsSoftware Development Meets the Wisdom of Crowds
Software Development Meets the Wisdom of Crowds
 
BugTriage with Bug Tossing Graphs (ESEC/FSE 2009)
BugTriage with Bug Tossing Graphs (ESEC/FSE 2009)BugTriage with Bug Tossing Graphs (ESEC/FSE 2009)
BugTriage with Bug Tossing Graphs (ESEC/FSE 2009)
 
Self-defending software: Automatically patching errors in deployed software ...
Self-defending software: Automatically patching  errors in deployed software ...Self-defending software: Automatically patching  errors in deployed software ...
Self-defending software: Automatically patching errors in deployed software ...
 
ReCrash: Making crashes reproducible by preserving object states (ECOOP 2008)
ReCrash: Making crashes reproducible by preserving object states (ECOOP 2008)ReCrash: Making crashes reproducible by preserving object states (ECOOP 2008)
ReCrash: Making crashes reproducible by preserving object states (ECOOP 2008)
 

Último

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
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Personalized Defect Prediction