Xác minh chính thức đã đi một chặng đường dài, nhưng thông thường công nghiệp / công cụ được sử dụng rộng rãi tụt hậu so với nghiên cứu mới nhất. Đây là một số nỗ lực gần đây theo hướng này:
Spec # http://research.microsoft.com/en-us/projects/specsharp/
Đây là phần mở rộng của C # hỗ trợ các hợp đồng mã (điều kiện trước / sau và bất biến) và có thể sử dụng các hợp đồng này để thực hiện các loại phân tích tĩnh khác nhau .
Các dự án tương tự như vậy tồn tại cho các ngôn ngữ khác, chẳng hạn như JML cho java và Eiffel có tích hợp khá nhiều.
Đi xa hơn nữa, các dự án như slam và blast có thể được sử dụng để xác minh các thuộc tính hành vi nhất định với chú thích / can thiệp lập trình viên tối thiểu, nhưng vẫn không thể xử lý toàn bộ các ngôn ngữ hiện đại (những thứ như số nguyên tràn / số học con trỏ không được mô hình hóa).
Tôi tin rằng chúng ta sẽ thấy nhiều hơn những kỹ thuật này được sử dụng trong thực tế trong tương lai. Rào cản chính là các bất biến chương trình rất khó suy ra nếu không có chú thích thủ công và các lập trình viên thường không sẵn lòng cung cấp các chú thích này vì làm như vậy quá tẻ nhạt / tốn thời gian.