Lecture Software testing and analysis: Chapter 19 - Mauro Pezzè, Michal Young

After studying this chapter you will be able to: Understand how automated program analysis complements testing and manual inspection; understand fundamental approaches of a few representative techniques (Lockset analysis, pointer analysis, symbolic testing, dynamic model extraction; recognize the same basic approaches and design trade-offs in other program analysis techniques). | Program Analysis (c) 2007 Mauro Pezzè & Michal Young Ch 19, slide 1 Learning objectives • Understand how automated program analysis complements testing and manual inspection – Most useful for properties that are difficult to test • Understand fundamental approaches of a few representative techniques – Lockset analysis, pointer analysis, symbolic testing, dynamic model extraction: A sample of contemporary techniques across a broad spectrum – Recognize the same basic approaches and design trade-offs in other program analysis techniques (c) 2007 Mauro Pezzè & Michal Young Ch 19, slide 2 Why Analysis • Exhaustively check properties that are difficult to test – Faults that cause failures • rarely • under conditions difficult to control – Examples • race conditions • faulty memory accesses • Extract and summarize information for inspection and test design (c) 2007 Mauro Pezzè & Michal Young Ch 19, slide 3 Why automated analysis • Manual program inspection – effective in finding faults difficult to detect with testing – But humans are not good at • repetitive and tedious tasks • maintaining large amounts of detail • Automated analysis – replace human inspection for some class of faults – support inspection by • automating extracting and summarizing information • navigating through relevant information (c) 2007 Mauro Pezzè & Michal Young Ch 19, slide 4 Static vs dynamic analysis • Static analysis – examine program source code • examine the complete execution space • but may lead to false alarms • Dynamic analysis – examine program execution traces • no infeasible path problem • but cannot examine the execution space exhaustively (c) 2007 Mauro Pezzè & Michal Young Ch 19, slide .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.