ラバーダックデバッグ【rubber duck debugging】

概要

ラバーダックデバッグとはプログラムの不具合を発見するデバッグ手法の一つで、アヒルのおもちゃ(ラバーダック)に向かってコードの内容を声に出して説明することで、問題点に自ら気付く方法のこと。
ラバーダックデバッグのイメージ画像

「ラバーダック」とは、ゴムやポリ塩化ビニルなど柔軟な防水素材で作られたアヒルの玩具で、英語圏では子どもが入浴時に浮かべて遊ぶ定番の玩具として知られている。ラバーダックデバッグでは、この玩具を手元に置き、コードの各処理について目的や入力、出力を一つずつ言葉にして説明していく。黙って画面を見つめているだけでは見落としていた前提条件の誤りや処理手順の抜け、変数の扱いの不整合などが、説明の過程で明らかになることがある。

対象は必ずしもラバーダックである必要はなく、ぬいぐるみやフィギュア、アクリルスタンドなど手近な無生物であれば何でもよいとされる。聞き手から助言や反応を得ることが目的ではなく、説明を言語化・外化する行為そのものが思考を整理し、認知的な効果をもたらすとされる。すぐに相談できる相手がいない状況でも一人で実践できる。

この考え方の背景には、考えが行き詰まったとき他者に説明しているうちに自力で解決策を思いつくという経験則がある。ラバーダックデバッグはその「聞き手」は人間である必要はなく、無生物でも一定の効果が期待できるとする考え方である。日本語で「壁打ち」と呼ばれる思考整理法にも通じる。

この名称は、1999年に刊行されたアンディ・ハント(Andy Hunt)氏とデイビッド・トーマス(David Thomas)氏の共著『The Pragmatic Programmer』(邦題:達人プログラマー)に由来するとされる。同書では、ラバーダックを持ち歩きコードを一行ずつ説明しながら問題を調査する開発者の逸話が紹介され、これが広まった。現在ではソフトウェア開発の現場や教育の場でも用いられる手法となっている。

(2026.6.30更新)
 

他の辞典等による「ラバーダックデバッグ」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。