[学士論文] Webベースの対話的なスクリプタブルデバッグ環境

小林研B4の杉山さんが学士特別課題研究論文(旧学士論文)を提出しました.

題目:Webベースの対話的なスクリプタブルデバッグ環境
内容梗概:

開発者はデバッグの工程において何度も同じ作業を繰り返すことがある.この問題に対処する方法として,デバッグ手順の自動化・再利用が可能なスクリプタブルデバッガ(SD)が存在する.これまでに提案されてきたSDの中には,対話的なデバッグコマンドをそのままスクリプトで命令的に記述するものや,デバッグイベント発生時に行う処理をあらかじめ宣言的に記述するものなどがある.なかでも近年提案されたJava言語向けのSDであるImperSDはデバッグ動作をそのままの順序で命令的に記述し,非同期に観測結果を受け取ることでデバッグ動作の記述のし易さの向上を図っている.一方,ImperSDはブレークポイントの設置によるデバッグをサポートしていない,短時間で終了するプログラムのデバッグができない,仮想ファイルシステムで観測結果を管理する等の制約が存在する.この制約はプログラムの詳細な振る舞いの調査ができない,調査可能なプログラムの範囲が狭い,ある振る舞いが観測された状況や経緯を共有しづらい等の実用上の課題に直結する.

本研究ではこのようなImperSDが持つ課題を解決するため,Webインターフェースからのスクリプトによるデバッガ操作や一連のデバッグ作業に関するスクリプト,テキスト,結果の混合による文書化,観測結果のグラフによる可視化等をサポートするスクリプタブルデバッガを提案する.また,その提案手法に基づいてJupyterを用いたWebベースの対話的なスクリプタブルデバッグ環境JISDLabを実装し,実際にデバッグ動作をJISDLabを用いて記述することでデバッグ作業時にJISDLabを使用する利点について議論する.