ラバーダック・デバッグ()とは、ソフトウエア工学におけるコードのデバッグ手法である。ラバーダック・デバッグは、アンドリュー・ハントとデビッド・トーマスの共著によるThe Pragmatic Programmer p. 95, footnote.という本で紹介された、プログラマーがラバー・ダック(アヒルちゃん)を持ち歩きアヒルちゃんに向かってコードを1行ずつ説明することによりデバッグを行うという話が由来である。この手法には、他にも多くの別名があり、しばしば様々な無生物が用いられている。
プログラマーの多くは誰かに問題を説明した経験があり、その相手はプログラミングの知識が全くないこともあり得るが、問題を説明している過程で解決策を思いつくことがある。目的とするコードと、実際のコードの挙動を観察して、説明することにより、その違いが明白になるのだ.。一般化するならば、あることを説明することによって、異なる見方による評価をする必要が生じることとなり、それがより深い理解へとつながる。無生物を用いることにより、プログラマーは、他人を煩わせることなく目的を達成できる。
2018年4月1日、 Stack Exchange 社は、自社のウエブサイトにQuack Overflowと名付けたアヒルちゃんのアバターを導入した。 アヒルちゃんは、ブラウザview portの右下に表示され、問題を聞いて解決策を回答することによりサイト閲覧者を支援しようとする。しかし、アヒルちゃんは、考えてからタイピングするように見えた後に、クワッと鳴くだけである。これは、強力な問題解決策としてラバーダック・デバッグをモデルとしたものである。初めてアヒルちゃんをみて混乱したサイト閲覧者の中には、これがエイプリルフールのジョークだと気がつくまで、自分のパソコンにマルウエアがインストールされたと勘違いした者もいた。
脚注