• Formal verification एक ऐसी विधि है जो गणितीय रूप से यह साबित करती है कि कोड हमेशा specification को पूरा करता है, लेकिन यह लंबे समय तक शोध-केंद्रित सीमित क्षेत्र तक ही सीमित रहा
  • seL4 microkernel जैसे कुछ बड़े systems formal verification के साथ विकसित किए गए, लेकिन उच्च जटिलता और लागत के कारण उद्योग में इसका लगभग उपयोग नहीं हुआ
  • हाल में LLM-आधारित coding assistant tools ने implementation code के साथ-साथ कई भाषाओं में proof scripts लिखने में भी परिणाम दिखाए हैं, जिससे verification की cost structure को बड़े पैमाने पर बदलने की संभावना बनी है
  • अगर AI code generation के साथ correctness proofs को भी automate कर सके, तो development का रुख मानव code review से अधिक भरोसेमंद तरीके की ओर बदल सकता है
  • formal verification का automation AI युग में software reliability सुनिश्चित करने की मुख्य तकनीक है, और तकनीकी सीमाओं से अधिक सांस्कृतिक बदलाव इसका mainstream adoption तय करेगा

Formal verification की वर्तमान स्थिति और सीमाएँ

  • Rocq, Isabelle, Lean, F*, Agda जैसे proof-oriented languages और tools गणितीय रूप से यह साबित करने देते हैं कि code specification को पूरा करता है
    • seL4 operating system kernel, CompCert C compiler, और Project Everest cryptographic protocol stack इसके प्रमुख उदाहरण हैं
  • लेकिन उद्योग में formal verification का लगभग उपयोग नहीं होता
    • seL4 के मामले में 8,700 lines of C code के verification के लिए 20 person-years और 200,000 lines of Isabelle code की आवश्यकता पड़ी
    • implementation की हर एक line पर 23 lines of proof और आधे दिन के मानव श्रम की जरूरत होती है
  • दुनिया भर में ऐसे proof लिख सकने वाले विशेषज्ञों की संख्या सिर्फ सैकड़ों में मानी जाती है
  • आर्थिक रूप से भी अधिकांश systems में bugs से होने वाले नुकसान की तुलना में verification cost अधिक होती है, इसलिए इसकी व्यावहारिकता कम रही

AI कैसे formal verification की अर्थव्यवस्था बदल रहा है

  • हाल के LLM-आधारित coding assistants ने implementation code के साथ-साथ proof scripts लिखने में भी प्रदर्शन दिखाया है
    • Nature, Galois, arXiv आदि में ऐसे मामले रिपोर्ट हुए हैं जहाँ LLM ने कई भाषाओं में proofs बनाए
  • फिलहाल विशेषज्ञ मार्गदर्शन की जरूरत है, लेकिन कुछ वर्षों में पूर्ण automation संभव होने की उम्मीद है
  • verification cost तेजी से घटे तो अधिक software पर formal verification लागू किया जा सकेगा
  • साथ ही AI द्वारा generated code के लिए मानव review की जगह formal verification से reliability सुनिश्चित करने की आवश्यकता होगी
    • अगर AI code की correctness खुद साबित कर सके, तो उसे manually written code से भी अधिक पसंद किया जा सकता है

LLM और proof verification की परस्पर पूरकता

  • जब LLM proof scripts लिखता है, तब वह गलत सामग्री (hallucination) भी बना सकता है, लेकिन proof checker उसे अस्वीकार कर देता है
    • checker स्वयं verified छोटे codebase से बना होता है, इसलिए गलत proof को पास कराना कठिन होता है
  • इसलिए LLM की अनिश्चितता को formal verification की कठोरता संतुलित करती है
  • यह संयोजन AI-generated code की reliability सुनिश्चित करने के लिए सुरक्षित automation path की तरह काम करता है

नई चुनौती: specification को सही परिभाषित करना

  • automated verification environment में भी specification को सही ढंग से परिभाषित करना मुख्य चुनौती बना रहता है
    • यह सुनिश्चित करना जरूरी है कि proved properties वास्तव में वही हों जो developer चाहता था
  • specification लिखने में अब भी विशेषज्ञता और सावधानीपूर्ण सोच की जरूरत है, लेकिन यह manual proof की तुलना में कहीं अधिक सरल और तेज है
  • AI natural language और formal language के बीच specification translation में भी मदद कर सकता है
    • हालांकि अर्थ-हानि का जोखिम मौजूद है, लेकिन इसे प्रबंधनीय स्तर का माना जाता है

software development के तरीके में संभावित बदलाव

  • developer इच्छित code properties को declarative specification के रूप में लिखेंगे, और AI implementation तथा proof दोनों साथ में generate करेगा
  • ऐसी स्थिति में developer को AI-generated code की सीधे समीक्षा करने की जरूरत नहीं होगी, और उसे compiler के machine code की तरह trust-based तरीके से इस्तेमाल किया जा सकेगा
  • संक्षेप में, निम्नलिखित तीन बदलावों की संभावना है
    1. formal verification cost में तेज गिरावट
    2. AI-generated code की reliability सुनिश्चित करने के लिए verification demand में वृद्धि
    3. formal verification की precision, LLM की probabilistic प्रकृति की पूरक बनेगी
  • यदि ये कारक एक साथ आते हैं, तो formal verification के software engineering की मुख्यधारा की तकनीक बनने की संभावना अधिक है
  • आगे चलकर प्रमुख सीमा तकनीक नहीं, बल्कि development culture में बदलाव को अपनाने की गति होगी

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.