Thạc Sĩ Kỹ thuật phân tích chương trình tĩnh cho bài toán phân tích hình dạng bộ nhớ Heap

Thảo luận trong 'THẠC SĨ - TIẾN SĨ' bắt đầu bởi Phí Lan Dương, 4/11/15.

  1. Phí Lan Dương

    Phí Lan Dương New Member
    Thành viên vàng

    Bài viết:
    18,524
    Được thích:
    18
    Điểm thành tích:
    0
    Xu:
    0Xu
    1
    MỤC LỤC
    MỤC LỤC . 1
    DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT . 3
    DANH SÁCH HÌNH VẼ 4
    MỞ ĐẦU . 5
    CHƯƠNG 1. GIỚI THIỆU CHUNG 7
    1.1. Đặt vấn đề 7
    1.2. Giới thiệu phân tích chương trình tĩnh 7
    1.3. Điểm mạnh và điểm yếu của phân tích chương trình tĩnh 8
    1.4. Các kỹ thuật phân tích chương trình tĩnh 8
    CHƯƠNG 2. LÝ THUYẾT NỀN TẢNG . 11
    2.1. Nền tảng phân tích ngữ nghĩa của chương trình . 11
    2.1.1. Lý thuyết giàn 11
    2.1.2. Thuộc tính đóng . 13
    2.1.3. Phương trình và bất phương trình . 15
    2.1.4. Lý thuyết điểm cố định 16
    2.1.5. Các kỹ thuật tăng tốc độ hội tụ widening/narrowing 18
    2.2. Kết luận chương 22
    CHƯƠNG 3. PHÂN TÍCH HÌNH DẠNG HEAP 23
    3.1. Phân tích con trỏ . 23
    3.1.1. Thuật toán Andersen 23
    3.1.2. Thuật toán Steensgaard 25
    3.2. Phân tích con trỏ liên thủ tục 26
    3.3. Phân tích hình dạng bộ nhớ heap . 27
    3.2.1. Kỹ thuật phân tích 29
    3.2.2. Đánh giá . 33
    3.3. Kết luận chương . 33
    CHƯƠNG 4. THỰC NGHIỆM 34 2
    4.1. Tổng quan về Valgrind 34
    4.1.1. Công cụ Memcheck . 35
    4.1.2. Biên dịch chương trình với Memcheck . 37
    4.1.3. Lệnh kiểm tra trong Memcheck 37
    4.2. Phân tích heap của chương trình trong Valgrind 39
    4.2.1. Rò rỉ bộ nhớ . 39
    4.2.2. Sử dụng bộ nhớ không được khởi tạo . 40
    4.2.3. Lỗi sử dụng không đúng giữa malloc/ new/ new[] với free/
    delete/ delete[] 43
    4.2.4. Thực nghiệm trên chương trình có mã nguồn lớn . 45
    KẾT LUẬN . 47
    TÀI LIỆU THAM KHẢO . 48
    PHỤ LỤC A 49
    PHỤ LỤC B 51
    PHỤ LỤC C 55
     
Đang tải...