Luận Văn Nâng cao chất lượng phần mềm bằng kỹ thuật Program Slicing

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Mai Kul, 25/11/13.

  1. Mai Kul

    Mai Kul New Member

    Bài viết:
    1,299
    Được thích:
    0
    Điểm thành tích:
    0
    Xu:
    0Xu
    Đồ án tốt nghiệp năm 2013
    Đề tài: Nâng cao chất lượng phần mềm bằng kỹ thuật Program Slicing




    MỤC LỤC
    LỜI CẢM ƠN . 1
    MỤC LỤC 12
    DANH MỤC HÌNH ẢNH 13
    DANH MỤC CÁC TỪ VIẾT TẮT 14
    GIỚI THIỆU . 15
    Chương 1: CÁC KHÁI NIỆM CƠ BẢN TRONG PROGRAM SLICING . 16
    1.1 Các định nghĩa 16
    1.2 Static slicing 17
    1.3 Dynamic slicing 18
    Chương 2: CÁC KĨ THUẬT DÙNG TRONG PHƯƠNG PHÁP STATIC SLICING
    . 20
    2.1.Static slicing đơn thủ tục. 20
    2.1.1. Slicing dựa vào đồ thị luồng điều khiển 20
    2.1.2.Slicing dựa vào đồ thị phụ thuộc 23
    2.2.static slicing đa thủ tục 26
    2.2.1.Slicing dựa theo đồ thị luồng điều khiển 26
    2.2.2. Đồ thị phụ thuộc 29
    Chương 3: CÁC KỸ THUẬT DÙNG TRONG PHƯƠNG PHÁP DYNAMIC
    SLICING . 36
    3.1: Phương thức dynamic chương trình đơn thủ tục . 36
    3.1.1: Các khái niệm luồng động . 36
    3.1.2.Đồ thị phụ thuộc . 39
    3.2. Dynamic slicing đa thủ tục 42
    Chương 4: THỰC NGHIỆM TRÊN CÁC CHƯƠNG TRÌNH SLICER . 44
    4.1 Chương trình StaticSlicer 44
    4.2. Chương trình Kaveri 47
    KẾT LUẬN 51
    TÀI LIỆU THAM KHẢO 52




    GIỚI THIỆU
    Trong sản xuất phần mềm, rất nhiều hoạt động được thực hiện như khảo sát,
    phân tích, thiết kế, Trong đó kiểm thử, bảo trì phần mềm là những công việc có
    tầm quan trọng nhằm đảm bảo phần mềm hoạt động chính xác, hiểu quả. Tìm hiểu
    về Program Slicing là một trong những phương pháp nâng cao chất lượng phần
    mềm.
    Trong quá trình tìm hiểu tài liệu, em đã nghiên cứu, tìm hiểu và trình bày
    trong đồ án các phương pháp áp dụng trong Progam Slicing nhằm làm rõ một số kỹ
    thuật được áp dụng trong đó.
    Các tác giả như Weiser, Ottenstein, B. Korel, J. Laski, Horwitz,Reps,Binkley
    . Là những người tiên phong nghiên cứu về lĩnh vực này. Các tác giả đã đưa ra
    các khái niệm như Static Slicing, Dynamic Slicing, đồ thị phụ thuộc chương trình,
    đồ thị phụ thuộc luồng điều khiển,đồ thị phụ thuộc hệ thống Từ đó hình thành
    một lĩnh vực nghiên cứu mới trong việc đảm bảo chất lượng phần mềm.
    Với kiến thức như vậy, trong đồ án này em cũng chỉ bước đầu tìm hiểu các
    kỹ thuật đã được đề xuất để từ đó hình dung rõ hơn về một khía cạnh trong lĩnh vực
    sản xuất phần mềm. Do vậy, em chọn đề tài: “Nâng cao chất lượng phần mềm bằng
    kỹ thuật Program Slicing”. Đồ án được trình bày như sau:
    Giới thiệu: GIỚI THIỆU VỀ BÀI TOÁN PROGRAM SLICING
    Chương 1: CÁC KHÁI NIỆM CƠ BẢN TRONG PROGRAM SLICING
    Trình bày các khái niệm cơ bản được ứng dụng trong kỹ thuật Program
    Slicing.
    Chương 2: CÁC KỸ THUẬT DÙNG TRONG PHƯƠNG PHÁP STATIC SLICING
    Trong chương này trình bày về các kỹ thuật trong Static Slicing như: Phương
    pháp đơn thủ tục và đa thủ tục.
    Chương 3: CÁC KỸ THUẬT DÙNG TRONG PHƯƠNG PHÁP DYNAMIC SLICING
    Trong chương này trình bày về các kỹ thuật trong Dynamic Slicing như:
    Phương pháp đơn thủ tục và đa thủ tục.
    Chương 4: THỰC NGHIỆM TRÊN CÁC CHƯƠNG TRÌNH SLICER
    Chương này trình bày các công cụ trợ giúp trong việc nghiên cứu và tìm hiểu các kỹ
    thuật Program Slicing.
    Kết luận: Trình bày các kết quả tìm hiểu trong quá trình thực hiện đồ án.
    Cuối cùng là phần Tài liệu tham khảo.




    TÀI LIỆU THAM KHẢO
    [Wei1] M. Weiser. Program slicing.
    [Wei2] M. Weiser Program slices: formal, psychological, and practical
    investigations of an automatic program abstraction method . PhD thesis, University
    of Michigan, Ann Arbor, 1979.
    [3] K.J. Ottenstein and L.M. Ottenstein. The program dependence graph in a
    software development environment. In Proceedings of the ACM
    SIGSOFT/SIGPLANSoftware Engineering Symposium on Practical Software
    Development Environments.
    [4] J.-F. Bergeretti and B.A. Carre. Information- ow and data- ow analysis of
    while programs. ACM Transactions on Programming Languages and Systems.
    [5] B. Korel and J. Laski. Dynamic slicing of computer programs. Journal of
    Systems and Software.
    [6] S. Horwitz and T. Reps. The use of program dependence graphs in software
    engineering. In Proceedings of the14th International Conference on Software
    Engineering.
    [7] S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using
    dependence graphs. ACM Transactions on Programming Languages and Systems.
    [8] H. Agrawal and J.R. Horgan. Dynamic program slicing. In Proceedings of
    the ACM SIGPLAN’90 Conference on Programming Language Design and
    Implementation.
    [9] H. Agrawal, R.A. DeMillo, and E.H. Spafford. Dynamic slicing in the
    presence of unconstrained pointers. In Proceedings of the ACM Fourth Symposium
    on Testing, Analysis, and Verification (TAV4).
    [10] Frank Tip, A Survey of Program Slicing Techniques,
     

    Các file đính kèm:

Đang tải...