औपचारिक सत्यापन एक लंबा रास्ता तय कर चुका है, लेकिन आमतौर पर उद्योग / व्यापक रूप से उपयोग किए गए उपकरण नवीनतम शोध से पीछे हैं। इस दिशा में हाल के कुछ प्रयास इस प्रकार हैं:
कल्पना # http://research.microsoft.com/en-us/projects/specsharp/
यह C # का एक एक्सटेंशन है जो कोड कॉन्ट्रैक्ट्स (पूर्व / पोस्ट की शर्तों और आक्रमणकारियों) का समर्थन करता है और विभिन्न प्रकार के स्थैतिक विश्लेषण करने के लिए इन अनुबंधों का उपयोग कर सकता है ।
इसी तरह की परियोजनाएं अन्य भाषाओं के लिए मौजूद हैं, जैसे जावा के लिए जेएमएल, और एफिल में यह बहुत अधिक अंतर्निहित है।
इससे भी आगे जाने पर, स्लैम और ब्लास्ट जैसी परियोजनाओं का उपयोग न्यूनतम प्रोग्रामर एनोटेशन / हस्तक्षेप के साथ कुछ व्यवहार गुणों को सत्यापित करने के लिए किया जा सकता है, लेकिन फिर भी आधुनिक भाषाओं की पूर्ण व्यापकता (पूर्णांक अतिप्रवाह / सूचक अंकगणित की मॉडलिंग नहीं की जाती है) के साथ व्यवहार नहीं कर सकता है।
मुझे विश्वास है कि हम भविष्य में प्रयोग की जाने वाली इन तकनीकों में से बहुत कुछ देखेंगे। मुख्य बाधा यह है कि प्रोग्राम इनवेरिएंट्स मैनुअल एनोटेशन के बिना अनुमान लगाना मुश्किल है, और प्रोग्रामर आमतौर पर इन एनोटेशन प्रदान करने के लिए तैयार नहीं हैं क्योंकि ऐसा करना बहुत थकाऊ / समय लेने वाला है।