プログラム正当性検証のための構造化とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > プログラム正当性検証のための構造化の意味・解説 

プログラム正当性検証のための構造化(1967年のノート)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/25 06:17 UTC 版)

構造化プログラミング」の記事における「プログラム正当性検証のための構造化(1967年ノート)」の解説

ダイクストラは、プログラマ正しプログラム作り出すばかりでなく納得のいくやり方正しさ証明検証)することも仕事一つであるという立場取っていた。プログラムどんなに巨大化しても良く構造化(well-structured)されていればサイズに関係なくその正当性検証できるというのが彼の信念であったwell-formed formula論理式)に因んでいるwell-structuredには、数理論理学の証明論をソースコードにも導入する意図込められていた。1967年ノートTowards Correct Programs」でダイクストラは、良く構造化するための三つのメンタルツール(mental tool)をこのように示している。 列挙enumeration): 一人人間能力でできる範囲プログラム命令妥当性一つ一つ確認していく作業 数学的帰納mathematical induction): while文など計算機特有の多数繰り返し文についてのみ数学的帰納法用いて確認する作業 抽象abstraction): プログラムブロックなどに名前をつけ、さらに中身見ない正しいと仮定することで検証作業後回しにする操作 プログラム正しいことを確認するには、それを証明しなければならないテストプログラム対す疑い全て取り除くには不十分であるという意見上がった。これについてダイクストラは「テストバグ存在を示すには有効だが、バグ存在しないことは証明できない」という表現好んで用いた構造化プログラミング支持者らは、プログラム正しさ重要性証明の方法表明(assertion)の使い方について熱心に説いた理想的にテストだけに依存せずプログラム正しさの証明与えるべきだと言われている。所与プログラム正しさ後付け証明することは、はじめから証明意識して作られプログラム場合より難しいことが経験的に知られている。ダイクストラは、プログラミング同時にプログラムの証明を(わずかに証明先行して進めることを推奨している。そのようなアプローチプログラム正当性問題にあたれば、複雑な問題であっても知的管理が可能であると述べた。しかし形式的な証明は、時として非人間的な長さ記述になることもダイクストラ認めている。同氏は、プログラムの証明形式的であることにはこだわらないという意見明らかにした。

※この「プログラム正当性検証のための構造化(1967年のノート)」の解説は、「構造化プログラミング」の解説の一部です。
「プログラム正当性検証のための構造化(1967年のノート)」を含む「構造化プログラミング」の記事については、「構造化プログラミング」の概要を参照ください。

ウィキペディア小見出し辞書の「プログラム正当性検証のための構造化」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「プログラム正当性検証のための構造化」の関連用語

プログラム正当性検証のための構造化のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



プログラム正当性検証のための構造化のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの構造化プログラミング (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS