Joy of Debugging, the

個数:

Joy of Debugging, the

  • 在庫がございません。海外の書籍取次会社を通じて出版社等からお取り寄せいたします。
    通常6~9週間ほどで発送の見込みですが、商品によってはさらに時間がかかることもございます。
    重要ご説明事項
    1. 納期遅延や、ご入手不能となる場合がございます。
    2. 複数冊ご注文の場合は、ご注文数量が揃ってからまとめて発送いたします。
    3. 美品のご指定は承りかねます。

    ●3Dセキュア導入とクレジットカードによるお支払いについて
  • 【入荷遅延について】
    世界情勢の影響により、海外からお取り寄せとなる洋書・洋古書の入荷が、表示している標準的な納期よりも遅延する場合がございます。
    おそれいりますが、あらかじめご了承くださいますようお願い申し上げます。
  • ◆画像の表紙や帯等は実物とは異なる場合があります。
  • ◆ウェブストアでの洋書販売価格は、弊社店舗等での販売価格とは異なります。
    また、洋書販売価格は、ご注文確定時点での日本円価格となります。
    ご注文確定後に、同じ洋書の販売価格が変動しても、それは反映されません。
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 500 p.
  • 言語 ENG
  • 商品コード 9780134578729
  • DDC分類 005.14

Full Description

For many developers, debugging is about making problems go away, not understanding the system. This fundamental misalignment perverts every aspect of the process and leads to:



fixes that don't actually fix the problem (or worse, introduce new ones)
bug reports that are unceremoniously closed out as "works for me" or "can't reproduce" or "will not fix"
frustrated users who are told to "try restarting" or "log out and log back in"

As bad as these are, much more insidious effects are felt when a problem appears to be debugged but hasn't been truly understood or resolved. These ersatz fixes are worse than nothing: not only do they leave the fundamental problem in place for another day or another customer or another outage (one that might have manifestations that are more subtle or more damaging or both), they give the software engineer the distorted sense of having resolved the problem and this false confidence leads to new development and different bugs -- and debugging devolves into collective superstition passed on by oral tradition.

 

Our view is that debugging is an essential part of the craft of software development. By thinking of debugging as a primary endeavor, developers are liberated to be more rigorous about it and can afford the luxury of complete understanding. By considering debugging as opportunity rather than setback, developers can take a craftsman's pleasure in it, mastering its nuances and deriving intrinsic satisfaction from doing it well. This is the thesis of this book: that debugging must be rigorous and empirical -- but that within that rigor, software engineers can discover a joy unique in the craft.

Contents

Draft table of contents

Part 1: Foundations

* Introduction (embracing debugging as both a first-class part of our jobs as engineers, and as an enjoyable, rewarding part of the craft of software engineering)
* How software fails: taxonomy of failure (implicit and explicit, fatal and non-fatal)
* Understanding software failure: the scientific method (including the roles of reproducibility, for testing hypotheses and gathering data)

Part 2: Approaches

* In situ debugging
  -- Using Dynamic Tracing   --Logging
  -- Basic tools (e.g., finding information about what processes are doing?)
* Postmortem debugging (fatal failure)

Part 3: Specific expertise

These chapters start with narrative prose describing basic concepts, and then enumerate tips and techniques related to the problem space.

* Debugging memory issues in native code (corruption, use-after-free)
* Debugging resource exhaustion in native code
* Debugging multi-threaded programs
* Debugging in dynamic environments (including GC-related issues)
* Debugging the network (including TCP issues, jumbo frames, partitions)
* Debugging distributed systems
* Debugging performance issues
* Debugging psychotic issues

Part 4: Advanced topics

* Debugging-driven development (embracing debugging at development-time)
* What to do when you're stuck
* Debugging unfamiliar systems
* Debugging during an outage
* Building an organization for debugging
* Describing failure [rigorously, and the importance of it]

最近チェックした商品