Crosswords

Introduction to Static Analysis

Description
Introduction to Static Analysis Kwonsoo Chae rogramming Research Laboratory Jun. 1, KU What is Static Analysis? Analyze the behavior of programs. 2 / 40 What is Static Analysis? Analyze the behavior
Categories
Published
of 40
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
Introduction to Static Analysis Kwonsoo Chae rogramming Research Laboratory Jun. 1, KU What is Static Analysis? Analyze the behavior of programs. 2 / 40 What is Static Analysis? Analyze the behavior of programs. Automatically (S/W analyzes S/W.) 3 / 40 What is Static Analysis? Analyze the behavior of programs. Automatically (S/W analyzes S/W.) Without executing them. ( Software testing) 4 / 40 What is Static Analysis? Analyze the behavior of programs. Automatically (S/W analyzes S/W.) Without executing them. ( Software testing) All bugs (guaranteed by theory) 5 / 40 What is Static Analysis? Analyze the behavior of programs. Automatically (S/W analyzes S/W.) Without executing them. ( Software testing) All bugs (guaranteed by theory) prog.c 6 / 40 What is Static Analysis? Analyze the behavior of programs. Automatically (S/W analyzes S/W.) Without executing them. ( Software testing) All bugs (guaranteed by theory) prog.c prog.c 7 / 40 Applications of Static Analysis 8 / 40 Applications of Static Analysis Finding bugs e.g., buffer-overflow, divide-by-zero 9 / 40 Applications of Static Analysis Finding bugs e.g., buffer-overflow, divide-by-zero Verification e.g., program specification 10 / 40 Applications of Static Analysis Finding bugs e.g., buffer-overflow, divide-by-zero Verification e.g., program specification Compiler optimization e.g., loop-invariant code motion, register allocation 11 / 40 Applications of Static Analysis Finding bugs e.g., buffer-overflow, divide-by-zero Verification e.g., program specification Compiler optimization e.g., loop-invariant code motion, register allocation Security e.g., private data leakage 12 / 40 Applications of Static Analysis Finding bugs e.g., buffer-overflow, divide-by-zero Verification e.g., program specification Compiler optimization e.g., loop-invariant code motion, register allocation Security e.g., private data leakage arallelization e.g., parallelized execution of loops 13 / 40 Essence of Static Analysis Key idea: Abstract (over-approximate) program behavior. 14 / 40 Essence of Static Analysis Key idea: Abstract (over-approximate) program behavior. Abstract Interpretation 15 / 40 Essence of Static Analysis Key idea: Abstract (over-approximate) program behavior. Abstract Interpretation Seminal '77 paper by atrick & Radhia Cousot Framework for Static Analysis 16 / 40 Essence of Static Analysis Key idea: Abstract (over-approximate) program behavior. Abstract Interpretation Seminal '77 paper by atrick & Radhia Cousot Framework for Static Analysis 17 / 40 Essence of Static Analysis Key idea: Abstract (over-approximate) program behavior. Abstract Interpretation Seminal '77 paper by atrick & Radhia Cousot Framework for Static Analysis 18 / 40 Does program has property Q in its all program executions? 19 / 40 Undecidable Does program has property Q in its all program executions? 20 / 40 Undecidable Does program has property Q in its all program executions? 21 / 40 Undecidable Does program has property Q in its all program executions? 22 / 40 Two Choices vs. 23 / 40 Two Choices vs. Finding bugs 24 / 40 Two Choices vs. Finding bugs Commercialized analyzers 25 / 40 Two Choices vs. Finding bugs Commercialized analyzers All/No bugs 26 / 40 Two Choices vs. Finding bugs Commercialized analyzers All/No bugs Most static analyzers 27 / 40 Two Choices vs. Finding bugs Commercialized analyzers All/No bugs Most static analyzers 28 / 40 Two Choices vs. Finding bugs Commercialized analyzers All/No bugs Most static analyzers 29 / 40 Two Choices Astree' vs. Finding bugs Commercialized analyzers All/No bugs Most static analyzers 30 / 40 Two Choices Astree' vs. Finding bugs Commercialized analyzers All/No bugs Most static analyzers 31 / 40 Two Choices Clang Static Analyzer Astree' vs. Finding bugs Commercialized analyzers All/No bugs Most static analyzers 32 / 40 Demo Sparrow prl.korea.ac.kr/~pronto/home/research.html Clang Static Analyzer clang-analyzer.llvm.org/index.html 33 / 40 erfect? Bad 34 / 40 erfect? Bad 35 / 40 Our Hope Bad 36 / 40 Our Hope Bad 37 / 40 Our Hope Bad 38 / 40 Our Hope Bad 39 / 40 Thank you. 40 / 40
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks