プログラムのデバッグ支援(仮)

Yasutaka Higa

プログラムのデバッグ支援(仮)

研究目的(仮)

  • プログラミングにおいて、ソースコードを改変するとプログラムの挙動も変わる
  • 挙動は予想されていた挙動と異なる場合があり、それはバグとなる
  • ソースコードの改変前と改変後の挙動を比較することで、デバッグの支援になるのでは無いか
  • 異なるバージョンのプログラムを同時に実行できるデバッグ支援ツールを開発する

近況報告

  • 大学院に入学後の研究計画書があるのでチェックをお願いしたいです
  • 院の書類は今週提出します
  • オープンキャンパスメンバーは(a)に相当してます。
    • News-ie のチェックお願いします
  • Parallel debugger な API(というか機能?)を考える

features of parallel debugger

  • tmux + alpha
    • output diff highlighter
    • single key type, multi input
    • generate break point from diff

features of parallel debugger for concurrent

  • automatically break
    • とある条件を満たすと自動的にbreak する
    • 関数の呼び出し回数、呼び出し順番、メモリの使用量システムコールの呼び出し順番、etc が違った瞬間
  • variable stack trace
    • 変数の変更履歴を残す

features of parallel debugger for concurrent

  • automatically continue for same variable
    • 両方とも同じであるべき variable に watch point をかける
    • continue は自動でしてくれる
    • continue 時に値が違うと両方止める
  • variable analytics
    • この変数に影響する可能性のある関数の列挙
    • デバッガというか解析っぽい

features of parallel debugger for distribute

  • multiplexer stub
    • 例えばソケット
    • 片方を親とする
    • 片方のみ外に通信できる
    • 返信は子へもと分配する
    • 外側からは片方のみが動いているように見える
    • 外への通信がdiffったらbreak