بيت » Formal Verification

Formal Verification

1980
  • Edmund M. Clarke
  • E. Allen Emerson
  • Joseph Sifakis

Formal verification is the use of mathematical methods to prove or disprove the correctness of a system’s design with respect to a formal specification. Unlike testing, which can only show the presence of bugs for specific inputs, formal verification can prove their absence for all possible inputs. It involves creating a formal model of the system and using techniques like model checking or theorem proving.

Formal التحقق provides the highest level of assurance for system correctness. The process begins with creating a formal model of the system using a mathematical language, such as temporal logic or process algebra. A set of properties, derived from the system’s requirements, is also expressed in a formal language. The verification process then uses automated tools to systematically explore all possible states of the model to determine if the specified properties hold true.

Two primary techniques are used: model checking and theorem proving. Model checking is an automated technique that explores the entire state space of a finite-state model. If a property is violated, the model checker produces a counterexample—a specific execution trace that demonstrates the failure. This is highly effective but can suffer from the ‘state space explosion’ problem for very complex systems. Theorem proving involves representing the system and its properties as logical formulas (theorems) and using automated or interactive provers to construct a formal proof of correctness. This approach can handle infinite-state systems but often requires significant manual effort from experts.

While computationally expensive and requiring specialized expertise, formal verification is indispensable for safety-critical or security-critical systems where the cost of failure is extremely high. It has been successfully applied to verify the correctness of CPU floating-point units, التواصل protocols, and control systems where exhaustive testing is infeasible.

UNESCO Nomenclature: 1203
– Computer Science

النوع

Software/Algorithm

Disruption

Foundational

الاستخدام

Niche/Specialized

Precursors

  • propositional and predicate logic
  • الأوتوماتيكية theory
  • lambda calculus
  • program semantics (e.g., hoare logic)
  • computational complexity theory

التطبيقات

  • microprocessor design (e.g., intel pentium fdiv bug fix)
  • avionics البرمجيات (e.g., fly-by-wire systems)
  • cryptographic protocol analysis
  • railway signaling systems
  • software drivers for critical operating systems

براءات الاختراع:

NA

Potential Innovations Ideas

!!مستويات !!! العضوية مطلوبة

يجب أن تكون عضوًا !!! مستويات!!! للوصول إلى هذا المحتوى.

انضم الآن

هل أنت عضو بالفعل؟ سجّل الدخول هنا
Related to: formal verification, model checking, theorem proving, formal methods, correctness, software verification, hardware verification, temporal logic

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

متاح للتحديات الجديدة
مهندس ميكانيكي، مدير مشروع أو بحث وتطوير
تطوير المنتج الفعال

متاح لتحدي جديد في غضون مهلة قصيرة.
تواصل معي على LinkedIn
تكامل الإلكترونيات المعدنية والبلاستيكية، التصميم حسب التكلفة، ممارسات التصنيع الجيدة (GMP)، بيئة العمل، الأجهزة والمواد الاستهلاكية متوسطة إلى عالية الحجم، الصناعات الخاضعة للتنظيم، شهادات CE وFDA، التصميم بمساعدة الحاسوب (CAD)، Solidworks، الحزام الأسود Lean Sigma، شهادة ISO 13485 الطبية

نحن نبحث عن راعي جديد

 

هل شركتك أو مؤسستك متخصصة في التقنية أو العلوم أو الأبحاث؟
> أرسل لنا رسالة <

احصل على جميع المقالات الجديدة
مجاني، لا يوجد بريد عشوائي، ولا يتم توزيع البريد الإلكتروني ولا إعادة بيعه

أو يمكنك الحصول على عضويتك الكاملة -مجانًا- للوصول إلى جميع المحتويات المحظورة >هنا<

Historical Context

(if date is unknown or not relevant, e.g. "fluid mechanics", a rounded estimation of its notable emergence is provided)

Related Invention, Innovation & Technical Principles

انتقل إلى الأعلى

قد يعجبك أيضاً