deepmutation: mutation testing of deep learning systems · what is mutation testing (mt)? mt in...

31
DeepMutation: Mutation Testing of Deep Learning Systems Presented By Abdul Kawsar Tushar [email protected] University of Toronto Department of Computer Science

Upload: others

Post on 12-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

DeepMutation: Mutation Testing of Deep Learning Systems

Presented By

Abdul Kawsar [email protected]

University of TorontoDepartment of Computer Science

Page 2: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Authors

● Lei Ma

● Fuyuan Zhang

● Jiyuan Sun

● Minhui Xue

● Bo Li

● Felix Juefei-Xu

● Chao Xie

● Li Li

● Yang Liu

● Jianjun Zhao

● Yadong Wang

2

● Harbin Institute of Technology, China

● Nanyang Technological University,

Singapore

● Kyushu University, Japan

● University of Illinois at Urbana–Champaign,

USA

● Carnegie Mellon University, USA

● Monash University, Australia

Page 3: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Contents

● What is mutation testing (MT)?

● MT in traditional software vs DL

● Proposed approach for MT

● Parameters used

● Performance

● Discussion points

● Related work

3

Page 4: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Mutation Testing

4

Page 5: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Mutation Testing

5

Page 6: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Software System vs DL System

6

Page 7: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

General Mutation Testing

7

Page 8: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Proposed Mutation Testing - Source Level

8

Page 9: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Proposed Mutation Testing - Model Level

9

Page 10: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Decision Boundary

10

Page 11: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Source-level Operators

11

Page 12: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Model-level Operators

12

Page 13: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Baseline Models

13

Page 14: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Settings

1. Test Data:

30 pairs

2. Mutant Model:

1. Source-level mutant: 10*2 and 20

2. Model-level mutant: 50 and 50

14

Page 15: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Source-level Mutant Model Generation

15

Page 16: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Model-level Mutant Model Generation

16

Page 17: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Performance

17

Page 18: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Metrics

18

Page 19: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Average Error Rate

19

Page 20: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Average Error Rate

20

Page 21: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Average Error Rate

21

Page 22: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Average Error Rate

22

Page 23: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Average Mutation Score

23

Page 24: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Class-wise Performance

24

Page 25: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Class-wise Performance

25

Page 26: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Class-wise Performance

26

Page 27: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Discussion

Generalization Imperfection of model

27

Why First? Why did no one try this before?

Since drivers self-reportedly act responsibly when selecting a plan

to be executed by the autonomous systemTime for Training Source-level testing needs re-training of the entire model

Page 28: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Discussion

Relation with Accuracy Training and test accuracy vs proposed metrics

28

CPU vs GPU Non-deterministic behavior

Since drivers self-reportedly act responsibly when selecting a plan

to be executed by the autonomous system

Designing Mutation Operator

Challenging to simulate real world faults on source-level,

Impact difference on source-level and model-level

Page 29: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Related Works – Testing for DL

● Other papers by the same team

○ DeepGauge, DeepCruiser, DeepCT, DeepHunter

● DeepXplore, DeepTest

● DeepLaser: Practical Fault Attack on Deep Neural Networks

● DeepRoad

● DeepCover (Testing Deep Neural Networks)

● Concolic Testing for Deep Neural Networks

● TensorFuzz - by Goodfellow

● DeepFault: Fault Localization for Deep Neural Networks

● Review Paper - On Testing Machine Learning Programs29

Page 30: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Related Works – Verification for DL

● AI2

● Reluplex

● DeepSafe

● Towards evaluating the robustness of neural networks

● Safety Verification of Deep Neural Networks

30

Page 31: DeepMutation: Mutation Testing of Deep Learning Systems · What is mutation testing (MT)? MT in traditional software vs DL Proposed approach for MT Parameters used Performance Discussion

Thank you for your attention

31