└> ここで説明されてるバグのクラス(高並行状態機械の論理エラーや不正確なハードウェアの仮定)は、必ずしも借用チェッカーで捕まるわけじゃないよ。あなたが説明しているバグは確かにRustの借用チェッカーでは直接対処されないものだけど、記事はあなたのコメントが示唆するよりも広い範囲をカバーしていると思うよ。例えば、記事のかなりの部分(ほとんど?)は、収集したデータを分析することに費やされていて、バグをサブシステムごとにグループ化しているんだ。サブシステム バグ数 平均寿命 drivers/can 446 4.2年 networking/sctp 279 4.0年 networking/ipv4 1,661 3.6年 usb 2,505 3.5年 tty 1,033 3.5年 netfilter 1,181 2.9年 networking 6,079 2.9年 memory 2,459 1.8年 gpu 5,212 1.4年 bpf 959 1.1年 またはバグのタイプごとに: バグタイプ 数 平均寿命 中央値 race-condition 1,188 5.1年 2.6年 integer-overflow 298 3.9年 2.2年 use-after-free 2,963 3.2年 1.4年 memory-leak 2,846 3.1年 1.4年 buffer-overflow 399 3.1年 1.5年 refcount 2,209 2.8年 1.3年 null-deref 4,931 2.2年 0.7年 deadlock 1,683 2.2年 0.8年 さらに、10年以上続くバグの一般的なパターンを説明するセクションには、以下のように書かれている: > 1. 参照カウントエラー > 2. デリファレンス後のNULLチェックの欠如 > 3. サイズ計算における整数オーバーフロー > 4. 状態機械におけるレースコンディション これらはすべて、あなたのコメントに書かれているよりも広い範囲をカバーしているよ。さらに、19年前のバグのケーススタディは、高並行状態機械やハードウェアの仮定とは関係ない参照カウントエラーなんだ。