« Home « Kết quả tìm kiếm

Xây dựng đánh giá độ tin cậy phần mềm sử dụng lý thuyết Bayes


Tóm tắt Xem thử

- TRẦN BẮC XÂY DỰNG ĐÁNH GIÁ ĐỘ TIN CẬY PHẦN MỀM SỬ DỤNG LÝ THUYẾT BAYES Chuyên ngành: Công nghệ thông tin LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Huỳnh Quyết Thắng Hà Nội - Năm 2012 1MỤC LỤC MỤC LỤC.
- 7CHƯƠNG 1: LÝ THUYẾT ĐỘ TIN CẬY PHẦN MỀM.
- 91.1. Khái niệm độ tin cậy phần mềm.
- 101.1.2. Biểu diễn toán học cho độ tin cậy.
- 151.2. Các biện pháp nâng cao độ tin cậy phần mềm.
- 181.3. Đo lường độ tin cậy phần mềm.
- 19 1.4. Mô hình độ tin cậy phần mềm.
- 201.4.1. Khái niệm mô hình độ tin cậy.
- 201.4.2. Phân loại mô hình độ tin cậy.
- 23CHƯƠNG 2: LÝ THUYẾT BAYES.
- 262.4. Sử dụng lý thuyết Bayes để đánh giá độ tin cậy phần mềm.
- 272.4.1. Hướng tiếp sử dụng lý thuyết Bayes để đánh giá độ tin cậy phần mềm.
- 272.4.2. Thủ tục tổng quát sử dụng lý thuyết Bayes để đánh giá độ tin cậy phần mềm 27CHƯƠNG 3: ĐÁNH GIÁ ĐỘ TIN CẬY PHẦN MỀM SỬ DỤNG LÝ THUYẾT BAYES.
- 303.3. Đánh giá độ tin cậy.
- 341.3. Đánh giá kết quả thử nghiệm.
- 11 Hình 2 Ý tưởng cơ bản về mô hình độ tin cậy.
- 21 Hình 3 Phân loại các mô hình độ tin cậy phần mềm.
- 23 DANH MỤC CÁC BẢNG Bảng 1 Các khái niệm liên quan lỗi phần mềm [3.
- 11 Bảng 2 Số thất bại trên một chu kỳ thời gian.
- 14 Bảng 3 Khoảng thời gian giữa các thất bại.
- 2 MTBF Mean Time Between Failure Thời gian trung bình giữa các thất bại 3 CDF Cumulative distribution function Hàm phân bố xác suất  7 MỞ ĐẦU i.
- Lý do chọn đề tài - Tìm hiểu về lý thuyết độ tin cậy phần mềm, lý thuyết Bayes.
- Xây dựng phương pháp đánh giá độ tin cậy phần mềm sử dụng lý thuyết Bayes.
- đánh giá và so sánh kết quả áp dụng.
- Từ Tìm hiểu lý thuyết độ tin cậy phần mềm, lý thuyết Bayes.
- Từ Tìm hiểu và xây dựng phương pháp đánh giá độ tin cậy phần mềm sử dụng lý thuyết Bayes.
- Mục đích, đối tượng và phạm vi nghiên cứu - Mục đích: Tìm hiểu lý thuyết và ứng dụng của Bayes trong việc đánh giá độ tin cậy của phần mềm.
- Nghiên cứu và đề xuất các hướng mở rộng phát triển của lý thuyết đã tìm hiểu.
- Đối tượng: Độ tin cậy phần mềm và lý thuyết Bayes.
- Độ tin cậy phần mềm + Lý thuyết Bayes - Đóng góp của tác giả.
- Xây dựng thành công phương pháp đánh giá độ tin cậy của phần mềm sử dụng lý thuyết Bayes + Đề xuất các hướng phát triển cho luận văn: Mở rộng các giải pháp xác định tham số của hàm phân phối tiên nghiệm và hậu nghiệm 8 v.
- Phương pháp nghiên cứu - Tìm hiểu và thực hành áp dụng lý thuyết Bayes - Tìm hiểu lý thuyết về độ tin cậy phần mềm, thực hành công cụ đánh giá độ tin cậy phần mềm.
- Áp dụng lý thuyết Bayes vào bài toán đánh giá độ tin cậy của phần mềm.
- 9 CHƯƠNG 1: LÝ THUYẾT ĐỘ TIN CẬY PHẦN MỀM 1.1.
- Khái niệm độ tin cậy phần mềm Để đơn giản, các thuật ngữ độ tin cậy và độ tin cậy phần mềm được hiểu là đồng nhất trong phạm vi luận văn này.
- Độ tin cậy là thuộc tính quan trọng nhất của chất lượng phần mềm.
- Đã có rất nhiều những quan điểm khác nhau về định nghĩa độ tin cậy, về vấn đề định lượng độ tin cậy như thế nào? Khi mà công nghệ phần mềm chưa phát triển, các chương trình phần mềm còn đơn giản, chỉ tồn tại một cách hiểu tương đương phần mềm hoặc có lỗi hoặc không có lỗi, thì định nghĩa độ tin cậy phần mềm chỉ đơn thuần là một giá trị nhị phân: giá trị một khi phần mềm không có lỗi và ngược lại.
- Sau này, công nghệ phần mềm phát triển, phần mềm ngày càng trở lên phức tạp, chất lượng phần mềm được đánh giá dựa vào các kết quả trong pha kiểm thử phần mềm.
- Theo hướng đó, tổ chức ANSI đã đưa ra khái niệm chuẩn về độ tin cậy phần mềm: “Độ tin cậy phần mềm là xác suất hoạt động không thất bại của phần mềm trong thời gian xác định và môi trường xác định [1.
- Đầu tiên, độ tin cậy được định nghĩa là đo lường theo xác suất.
- Điều này có nghĩa là về mặt dự đoán độ tin cậy không có bất kỳ phát biểu nào giống như “phần mềm không bao giờ thất bại” mà thay vào đó là phát biểu “xác suất chắc chắn hoạt động không thất bại”.
- Hơn nữa, độ tin cậy là hàm của thời gian, tức là nó sẽ tương ứng với mong đợi trực giác phần mềm hoạt động càng lâu càng có khả năng thất bại xuất hiện.
- Một yếu tố khác là độ tin cậy không chỉ phụ thuộc vào chính phần mềm mà còn chịu ảnh hưởng của môi trường mà phần mềm đó hoạt động.
- Ví dụ như độ tin cậy của thành phần bên trong phụ thuộc trực tiếp vào các dịch vụ ngoài được gọi tới hay độ tin cậy phụ thuộc vào cấu hình phần cứng mà nó được triển khai trên.
- 10 Nếu định nghĩa thất bại như là sự lệch hành vi phần mềm khỏi đặc tả của nó thì sự chậm lại của hệ thống có thể gây ra thất bại nếu các mục tiêu hiệu năng của nó không được đáp ứng.
- Thuật ngữ “hoạt động không lỗi” không trực tiếp bao gồm việc hướng người dùng của độ tin cậy phần mềm.
- Điều này trở nên rõ ràng nếu xem xét một định nghĩa về độ tin cậy phần mềm được đưa ra bởi Cheung: “Từ góc nhìn người dùng, độ tin cậy của hệ thống có thể được đo lường như là xác suất mà khi người dùng yêu cầu dịch vụ từ hệ thống thì nó sẽ thực hiện để thỏa mãn người dùng [2.
- Ở đây, độ tin cậy của phần mềm phụ thuộc vào các dịch vụ mà người dùng yêu cầu từ phần mềm.
- Nếu dịch vụ lỗi không bao giờ được yêu cầu thì nó không ảnh hưởng đến độ tin cậy được trải nghiệm bởi người dùng.
- Hơn nữa, sự xuất hiện của thất bại được quyết định bởi người dùng (và không phải bởi sự lệch khỏi đặc tả).
- Nếu phần mềm không thực hiện để thỏa mãn người dùng thì điều này được giả sử là tương đương với sự xuất hiện của lỗi.
- Đây là một cách nhìn rất chặt chẽ về các thất bại vì nó bao gồm tất cả các dạng vấn đề hiệu năng cũng như các lỗi đặc tả và thiết kế của phần mềm.
- Tuy nhiên, việc để lại quyết định thất bại đã xảy ra hay không hoàn toàn cho người dùng mang lại rủi ro của việc phụ thuộc vào tâm trạng của họ và không thể đưa ra các đo lường độ tin cậy khách quan, tin cậy và có thể kiểm tra.
- Các khái niệm liên quan  Lỗi, sai sót và thất bại phần mềm Nếu chỉ dùng khái niệm lỗi để chỉ một đoạn lỗi trong chương trình hoặc phần mềm chưa đáp ứng đúng và đủ một yêu cầu theo đặc tả ban đầu thì tạo ra sự nhập nhằng.
- Các khái niệm dưới đây được định nghĩa để loại bỏ sự nhập nhằng trên về lỗi của phần mềm.
- 11  Bảng 1 Các khái niệm liên quan lỗi phần mềm [3] Các khái niệm Giải thích (Failures) Thất bại Một thất bại phần mềm xảy ra khi người dùng thấy được phần mềm dừng cung cấp các dịch vụ như mong đợi.Có nhiều cấp độ khác nhau của thất bại phần mềm tùy thuộc vào tính nghiêm trọng của nó.
- (Fault or Bug ) Sai sót (Fault or Bug ) Sai sót Một hỏng hóc phần mềm xảy ra khi một thất bại chương trình xảy ra hoặc một lỗi bên trong chương trình được phát hiện.
- Nguyên nhân của thất bại hay lỗi bên trong được gọi là hỏng hóc.
- Trong hầu hết các trường hợp hỏng hóc phần mềm được xác định và gỡ bỏ, tuy vậy với một số trường hợp chúng không được gỡ bỏ hết mà chỉ là giả thuyết.
- Hình 1 Mối quan hệ giữa fault, error và failure  Thời gian 12 Có ba loại thời gian cần phân biệt khi đánh giá độ tin cậy phần mềm: thời gian thực thi, thời gian ngày tháng và thời gian đồng hồ.
- Trong đó thời gian ngày tháng là thời gian thực tế sử dụng qua các thuật ngữ như: năm, tháng, ngày, giờ…[3] Thời gian thực thi của phần mềm là thời gian của CPU sử dụng thực sự khi thực thi phần mềm.
- Nó có thể đo lường theo thời gian liên tục hoặc rời rạc, trong đó thời gian rời rạc liên quan đến số chu kỳcủa bộ vi xử lý.
- Thời gian đồng hồ là thời gian trôi qua từ lúc bắt đầu đến khi kết thúc của máy tính khi thực thi phàn mềm.
- Quá trình thực thi trên máy tính đang chạy bao gồm thời gian đợi và thời gian thực thi của các chương trình.
- Nó có thể được xem như thời gian được trải nghiệm bởi khách hàng của phần mềm.
- Độ tin cậy phần mềm thường được cho dưới dạng các khoảng thời gian thực thi còn độ tin cậy phần cứng thường được đưa ra với thời gian hoạt động (là thời gian thiết bị phần cứng đang hoạt động được cho trước dưới dạng thời gian đồng hồ) nên khi kết hợp các thành phần phần mềm và phần cứng càn có sự chuyển đổi về thời gian.
- Môi trường Một số yếu tố môi trường như: tiểu sử hoạt động, hiệu quả của các dịch vụ ngoài và phần cứng có ảnh hưởng đến độ tin cậy phần mềm [3].
- Việc sử dụng tiểu sử hoạt động của phần mềm để dự đoán độ tin cậy đã được đưa ra bởi Cheung và được mở rộng hướng đến các thỏa thuận tham số khác.
- Lấy ví dụ như có một dịch vụ lỗi đơn lẻ trong một hệ thống phức tạp, thì đối với người dùng thường xuyên các dịch vụ này có đánh giá độ tin cậy thấp hơn so với những người dùng mà không yêu cầu dịch vụ nào cả.
- Hiệu quả của các dịch vụ ngoài có ảnh hưởng các dịch vụ bên trong được cung cấp bởi phần mềm.
- 13 Cùng một hệ thống phần mềm mà chạy trên các phần cứng kháu nhau sẽ dẫn đến hiệu quả sử dụng các dịch vụ phần mềm, các trình dò sửa lỗi phần mềm khác nhau.
- Như vậy xem xét yếu tố phần cứng, mà cụ thể là đánh giá độ tin cậy phần cứng có ảnh hưởng đến độ tin cậy phần mềm.
- Các hàm về thất bại Hàm tích lũy số thất bại: định nghĩa số thất bại của phần mềm tại một thời điểm t nào đó.
- Hàm mật độ thất bại biểu thị sự thay đổi giá trị của hàm tích lũy số thất bại được định nghĩa ở trên.
- Hàm tỷ lệ thất bại là hàm xác định xác suất của phần mềm gặp thất bại trong khoảng thời gian (t, t+dt) và không gặp thất bại trước thời gian t.
- Hàm MTBF (Mean Time Between Failures) là thời gian trung bình giữa các thất bại phần mềm.
- Hai mô hình dữ liệu Mô hình độ tin cậy phần mềm thông thường được chia vào hai loại phụ thuộc vào môi trường chúng thực thi [3].
- Trong đó, mô hình thông dụng nhất là mô hình dựa trên thời gian.
- Các mô hình này bao gồm các độ đo tin cậy, ví dụ như hàm mật độ lỗi của phần mềm.
- Khi đó đánh giá độ tin cậy sẽ dựa trên tỷ lệ các hoạt động thành công trên tổng số các hoạt động trong các pha kiểm thử.
- Tuy nhiên mô hình này sẽ tính toán không phù hợp thực tế với các hệ thống mà có thời gian hoạt động quá dài.
- Do vậy phần lớn các nghiên cứu gần đây đều tập trung vào mô hình dựa trên thời gian.
- Trở lại mô hình dựa trên thời gian, việc đánh giá dựa trên dữ liệu thu được về số các lỗi tìm được trong một chu kỳ hoặc thời gian giữa các lỗi của phần mềm.
- Mô hình này được chia nhỏ thành hai loại cơ bản dựa theo loại dữ liệu mà mô hình sử dụng: số 14 lỗi trong một chu kỳ thời gian và thời gian giữa các lỗi.
- Bảng 2 Số thất bại trên một chu kỳ thời gian Thời gian Số thất bại trên một chu kỳ Số thất bại tích lũy Bảng 3 Khoảng thời gian giữa các thất bại Số thứ tự thất bại Khoảng thời gian giữa các thất bại Thời gian thất bại Sự khác biệt giữ độ tin cậy phần phầm và độ tin cậy phần cứng Sự khác biệt chính giữa hai khái niệm này nằm ở chỗ các nguồn thất bại.
- Các thất bại phần mềm thường gây ra bởi các lỗi thiết kế và xây dựng, từ đó đưa đến sự lệch hành vi phần mềm khỏi mong đợi của người dùng và đặc tả.
- Hơn nữa nếu những thất bại phần mềm được sửa thì nó sẽ sửa cho tất cả thời gian còn những lỗi phần cứng dù đã được sửa có thể vẫn xuất hiện lại.
- Mặt khác, một đặc trưng của phần cứng là có tính đến độ hao mòn bởi thời gian sử dụng còn phần mềm thì không có ảnh hưởng bởi độ hao mòn.
- Biểu diễn toán học cho độ tin cậy Về phương diện toán học, hàm tin cậy của hệ thống R(t) là xác suất mà hệ thống sẽ hoạt động thành công hay không có thất bại trong khoảng thời gian từ 0 đến thời điểm t[4.
- t>0 với T là một biến ngẫu nhiên biểu diễn thời gian thất bại, hay chính là thời gian từ lúc hoạt động đến lúc bị thất bại.
- Xác suất thất bại là: 1FtRtPTt.
- đây cũng chính là hàm phân bố của biến ngẫu nhiên T Nếu biến ngẫu nhiên T có hàm mật độ xác suất là ft, khi đó độ tin cậy của hệ thống sẽ là:

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt