ブラウザ拡張の開発におけるデバッグ手法

English is here.

概要

プログラムにバグはつきものであり、デバッグまで
含めてプログラミングであると考えなければならない。
プログラマのデバッグ能力は経験によって培われる
ものである。これに基づいて確立したデバッグ手法は
他の言語や状況でも応用可能であることが多い。

一方で、昨今Webブラウザはネットワークサービスの
共通インタフェースとして一般的になっただけでなく、
GUIインタフェースの基盤としても利用されるように
なってきた。例えばMozilla Firefoxにはextension
と呼ばれる機能拡張の仕組みがあり、多種多様の
有用なextensionが一般のプログラマにより開発、
公開されている。ユーザは好みのextensionを導入
することでFirefoxに機能を追加したり、特定の
サイトの表示をカスタマイズしたりすることができる。
Firefox extensionはXULとCSSを用いてUIを定義し、
JavaScriptによって動作を制御する。この開発は
情報が少ないことや有用な開発環境が存在しないこと
から敷居が高いとの声が多い。

本稿では、実際のextension開発を通して現在利用可能な
開発環境を検証し、その特殊性や問題点を明らかにする。
そして一般的なデバッグ手法の適用の可否や、Delta Debugging等の
自動デバッグ手法のこの分野での有用性について考察する。

研究紹介のページへ