デバッグの理論と実践 ―なぜプログラムはうまく動かないのか
Andreas Zeller
ISBN4873115930
オライリージャパン
未だに個人的な技芸の域を脱しきれていないプログラミングと言う過程の中でも特に
属人的な要素の強いデバッグという過程に対して、「科学的」な手法を適用すれば
システマティックにデバッグできることを示している、かなり画期的な本。
個別のデバッガを使ってどうこうする、という話ではなく、
どのように仮説を立て、それを検証していくのか、という戦略の立て方を論じている。
著者のAndreas Zellerは、デバッグ関連の一流研究者なので、デバッグの研究が
今どこまで進んでいるのかを知るという意味でも役に立つ。
もともと大学(院)のテキストとして書かれたものなので、若干敷居は高いけど
特に前半の戦略を議論している部分はすべての実務プログラマにとって有益なはず。
全体的に若干やり過ぎ感はあるけど、今後進むべき方針を示しているということで。
圧巻なのは14章。gcc2.95.2 にあった特定の式の最適化で無限ループに陥るバグを
全自動でピンポイントに特定している。基本的にはgdbでスタックトレースをとって、
各段階でブレークポイントを設定してメモリグラフをgdbをつかってとりだして、
うまくいく場合と行かない場合のメモリグラフを比較するという手法なのだけど、
gccのような大規模なシステムでもちゃんと動くっていうのはインパクトある。
実はこの本、縁あって監訳させていただいたのだけど、
翻訳って本当に難しい。技術的な内容を100%理解した上で、
原文のニュアンスを尊重したうえで、日本語として自然な文章を
書かなければならないのだけど、そんなのほとんど無理だよなあ。。
せめて技術的にはミスがないように心がけたつもりだけど、
何かありましたらお知らせください。。
Andreas Zeller
オライリージャパン
売り上げランキング: 12204