.. _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
.. 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