.. _sphx_glr_api_gallery_contracts_verification: Verification ------------ Proving contracts correct, executing them on symbols, checking them at run time, and fuzzing them with random transactions. .. raw:: html
.. raw:: html
.. thumbnail-parent-div-open .. raw:: html
.. only:: html .. image:: /api/gallery/contracts/verification/images/thumb/sphx_glr_plot_01_floyd_hoare_thumb.png :alt: :doc:`/api/gallery/contracts/verification/plot_01_floyd_hoare` .. raw:: html
Floyd and Hoare: proving a withdrawal correct with assertions (1967-1969)
.. raw:: html
.. only:: html .. image:: /api/gallery/contracts/verification/images/thumb/sphx_glr_plot_02_symbolic_execution_thumb.png :alt: :doc:`/api/gallery/contracts/verification/plot_02_symbolic_execution` .. raw:: html
King's symbolic execution: every path of a fee schedule (1976)
.. raw:: html
.. only:: html .. image:: /api/gallery/contracts/verification/images/thumb/sphx_glr_plot_03_design_by_contract_thumb.png :alt: :doc:`/api/gallery/contracts/verification/plot_03_design_by_contract` .. raw:: html
Meyer's design by contract: an escrow with checked clauses (1986)
.. raw:: html
.. only:: html .. image:: /api/gallery/contracts/verification/images/thumb/sphx_glr_plot_04_oyente_thumb.png :alt: :doc:`/api/gallery/contracts/verification/plot_04_oyente` .. raw:: html
Oyente: symbolic execution finds the BeautyChain overflow in bytecode (2016)
.. raw:: html
.. only:: html .. image:: /api/gallery/contracts/verification/images/thumb/sphx_glr_plot_05_echidna_fuzzing_thumb.png :alt: :doc:`/api/gallery/contracts/verification/plot_05_echidna_fuzzing` .. raw:: html
Echidna: property-based fuzzing finds a self-transfer bug (2020)
.. thumbnail-parent-div-close .. raw:: html
.. toctree:: :hidden: /api/gallery/contracts/verification/plot_01_floyd_hoare /api/gallery/contracts/verification/plot_02_symbolic_execution /api/gallery/contracts/verification/plot_03_design_by_contract /api/gallery/contracts/verification/plot_04_oyente /api/gallery/contracts/verification/plot_05_echidna_fuzzing