Return to Video

01ps-01 Automate Deduction

  • 0:00 - 0:05
    このレッスンでは原因と結果の連鎖を
    自動で作成する方法を紹介します
  • 0:05 - 0:11
    これはプログラム実行中
    異なる場所で原因を探し出すものです
  • 0:11 - 0:17
    たとえば最初にsはダブルクォーテーションと
    小なり記号を持っていました
  • 0:17 - 0:24
    またcはダブルクォーテーションになりました
    そして失敗で明確に定義されます
  • 0:24 - 0:31
    クォーテーションがTrueになり変数outが
    小なり記号になったことが失敗の原因です
  • 0:31 - 0:36
    この原因と結果の連鎖は
    実行中さまざまな場所で状態の違いに対して
  • 0:36 - 0:40
    差分デバッグを適用した時に得られるものです
  • 0:40 - 0:45
    このような原因と結果の連鎖を
    自動で作成することが宿題です
  • 0:45 - 0:49
    これはとても素晴らしい成果ですが
    とてもトリッキーな宿題です
  • 0:49 - 0:54
    具体的にはプログラム実行中に変数を設定することは
  • 0:54 - 1:00
    めったに使われずテストもされない機能です
    驚きますよ
  • 1:00 - 1:04
    Webページには この作業をするのに役立つ
    たくさんのヒントと
  • 1:04 - 1:07
    コードのテンプレートがあります
  • 1:07 - 1:11
    このような原因と結果の連鎖を自動にすることは
  • 1:11 - 1:13
    デバッグと契約するようなものです
  • 1:13 - 1:19
    不具合がどのようになるのか
    かなりきちんと正確にわかるからです
  • 1:19 - 1:25
    つまりcの関係がダブルクォーテーションを有すると
    変数quoteがTrueになり
  • 1:25 - 1:29
    条件を直接指し示します
    これはこの時点で欠陥です
  • 1:29 - 1:31
    おっと ごめんなさい
  • 1:31 - 1:36
    これはもう完全な
    自動デバッグツールと言っていいでしょう
  • 1:36 - 1:40
    しかし制限をよく考慮することは重要です
  • 1:40 - 1:43
    まず真っ先に類似の実行を行う必要があります
  • 1:43 - 1:50
    類似性が高ければ高いほど違いを含んだ不具合の
    小さなセットを見つける可能性が高くなります
  • 1:50 - 1:54
    この宿題の中でも対処できないことがたくさんあります
  • 1:54 - 1:57
    私たちが処理できるのはスカラ値と文字列だけでしょう
  • 1:57 - 2:04
    ここではたとえば これやディクショナリや
    グラフ構造間の違いの見つけ方を
  • 2:04 - 2:10
    詳しくやりません
    結局これらはすべて とても実験的なのです
  • 2:10 - 2:14
    しかし実験的だからこそ
    多くの方法を導き出せると言えます
  • 2:14 - 2:17
    そしてこれも宿題になります
  • 2:17 - 2:23
    もう一度言います Webページにこれを
    さらに拡張させる方法がたくさん載っています
  • 2:23 - 600:00
    ではPythonプログラムの自動デバッグを
    楽みながら作成してください
Title:
01ps-01 Automate Deduction
Team:
Udacity
Project:
CS259 - Software Debugging
Duration:
02:30

Japanese subtitles

Revisions Compare revisions