Các công cụ bảo hiểm mã, chẳng hạn như Emma, Cobertura và Cỏ ba lá, sẽ ghi lại mã của bạn và ghi lại phần nào của nó được gọi bằng cách chạy một bộ thử nghiệm. Điều này rất hữu ích, và nên là một phần không thể thiếu trong quá trình phát triển của bạn. Nó sẽ giúp bạn xác định bộ kiểm tra của bạn bao gồm mã của bạn tốt như thế nào.
Tuy nhiên, điều này không giống như xác định mã chết thực sự. Nó chỉ xác định mã được bao phủ (hoặc không được bảo hiểm) bằng các thử nghiệm. Điều này có thể cung cấp cho bạn dương tính giả (nếu các thử nghiệm của bạn không bao gồm tất cả các kịch bản) cũng như âm tính giả (nếu các thử nghiệm của bạn mã truy cập thực sự không bao giờ được sử dụng trong kịch bản trong thế giới thực).
Tôi tưởng tượng cách tốt nhất để thực sự xác định mã chết là sử dụng mã của bạn bằng một công cụ bảo hiểm trong môi trường chạy trực tiếp và phân tích phạm vi bảo hiểm mã trong một khoảng thời gian dài.
Nếu bạn đang chạy trong một môi trường dự phòng cân bằng tải (và nếu không, tại sao không?) Thì tôi cho rằng sẽ hợp lý khi chỉ sử dụng một phiên bản của ứng dụng của bạn và định cấu hình bộ cân bằng tải của bạn sao cho một phần ngẫu nhiên, nhưng nhỏ người dùng của bạn chạy trên ví dụ cụ của bạn. Nếu bạn thực hiện việc này trong một khoảng thời gian dài (để đảm bảo rằng bạn đã bao quát tất cả các tình huống sử dụng trong thế giới thực - các biến thể theo mùa như vậy), bạn sẽ có thể xem chính xác các khu vực mã của bạn được truy cập theo cách sử dụng trong thế giới thực và phần nào thực sự không bao giờ được truy cập và do đó mã chết.
Cá nhân tôi chưa bao giờ thấy điều này được thực hiện và không biết làm thế nào các công cụ nói trên có thể được sử dụng để tạo công cụ và phân tích mã không được gọi thông qua bộ kiểm tra - nhưng tôi chắc chắn rằng chúng có thể.