Đây là câu hỏi gần gũi với trái tim tôi (tôi là nhà nghiên cứu trong Xác minh phần mềm bằng cách sử dụng logic chính thức), vì vậy bạn sẽ không ngạc nhiên khi tôi nói rằng các kỹ thuật này có một địa điểm hữu ích và chưa sử dụng đủ trong ngành.
Có rất nhiều cấp độ "phương pháp chính thức", vì vậy tôi giả sử bạn có nghĩa là những người nghỉ ngơi trên cơ sở toán học khắt khe (trái ngược với, nói theo một số quy trình 6-Sigma). Một số loại phương pháp chính thức đã có thành công lớn - hệ thống kiểu là một ví dụ. Các công cụ phân tích tĩnh dựa trên phân tích lưu lượng dữ liệu cũng phổ biến, việc kiểm tra mô hình gần như phổ biến trong thiết kế phần cứng, và các mô hình tính toán như Pi-Calculus và CCS dường như đang truyền cảm hứng cho một số thay đổi thực sự trong thiết kế ngôn ngữ thực tế. Phân tích chấm dứt là một trong đó đã có rất nhiều báo chí gần đây - Dự án SDV tại Microsoft và làm việc của Byron Cook là những ví dụ gần đây về nghiên cứu/thực hành chéo trong các phương pháp chính thức.
Hoare Reasoning đã không, cho đến nay, đã xâm nhập lớn trong ngành - vì nhiều lý do hơn tôi có thể liệt kê, nhưng tôi nghi ngờ chủ yếu là về sự phức tạp của văn bản. lớn và không thể hiện thuộc tính của nhiều môi trường thế giới thực). Các tiểu lĩnh vực khác nhau trong loại lý luận này hiện đang xâm nhập lớn vào những vấn đề này - Tách logic là một.
Đây là một phần bản chất của nghiên cứu đang diễn ra (khó). Nhưng tôi phải thú nhận rằng chúng tôi, như các nhà lý thuyết, hoàn toàn thất bại trong việc giáo dục ngành về lý do tại sao các kỹ thuật của chúng tôi hữu ích, giữ cho chúng phù hợp với nhu cầu của ngành và làm cho chúng dễ tiếp cận với các nhà phát triển phần mềm. Ở một mức độ nào đó, đó không phải là vấn đề của chúng tôi - chúng tôi là các nhà nghiên cứu, thường là các nhà toán học và sử dụng thực tế không phải là quan trọng nhất trong tâm trí của chúng tôi. Ngoài ra, các kỹ thuật được phát triển thường quá phôi để sử dụng trong các hệ thống quy mô lớn - chúng tôi làm việc trên các chương trình nhỏ, trên các hệ thống đơn giản, giúp toán học hoạt động và tiếp tục. Mặc dù vậy, tôi không mua nhiều lý do này - chúng ta nên tích cực hơn trong việc thúc đẩy ý tưởng của mình và nhận được phản hồi giữa ngành và công việc của chúng tôi (một trong những lý do chính tôi quay lại nghiên cứu).
Đây có thể là một ý tưởng tốt cho tôi để hồi sinh weblog của tôi, và làm cho một số bài viết thêm về công cụ này ...
Nguồn
2009-07-28 22:02:52
Một số đọc ánh sáng: http://formalmethods.wikia.com/wiki/Z_notation –
Tôi đã học Zed hoặc "Z" ở đại học. Lớp học rất vui, nhưng tôi không phải áp dụng nhiều hơn kiến thức cơ bản thu được trong lớp đó vào bất cứ thứ gì trong ngành. Nhận xét về phần mềm quan trọng của bạn là hấp dẫn, nhưng tôi nghĩ (sửa tôi nếu sai) hầu hết sẽ dựa nhiều hơn vào các công cụ phân tích mã tĩnh, đánh giá mã và kiểm tra mãnh liệt, và những thứ khác về bản chất đó để xác minh phần mềm. –
Cảm ơn, tôi sẽ xem xét :) – AraK