English is here.
概要 プログラムにバグはつきものであり、デバッグまで 含めてプログラミングであると考えなければならない。 プログラマのデバッグ能力は経験によって培われる ものである。これに基づいて確立したデバッグ手法は 他の言語や状況でも応用可能であることが多い。 一方で、昨今Webブラウザはネットワークサービスの 共通インタフェースとして一般的になっただけでなく、 GUIインタフェースの基盤としても利用されるように なってきた。例えばMozilla Firefoxにはextension と呼ばれる機能拡張の仕組みがあり、多種多様の 有用なextensionが一般のプログラマにより開発、 公開されている。ユーザは好みのextensionを導入 することでFirefoxに機能を追加したり、特定の サイトの表示をカスタマイズしたりすることができる。 Firefox extensionはXULとCSSを用いてUIを定義し、 JavaScriptによって動作を制御する。この開発は 情報が少ないことや有用な開発環境が存在しないこと から敷居が高いとの声が多い。 本稿では、実際のextension開発を通して現在利用可能な 開発環境を検証し、その特殊性や問題点を明らかにする。 そして一般的なデバッグ手法の適用の可否や、Delta Debugging等の 自動デバッグ手法のこの分野での有用性について考察する。