1276
According to SOAR, the following detection techniques may be useful: Highly cost effective:
Inspection (IEEE 1028 standard) (can apply to requirements, design, source code, etc.) Formal
Methods / Correct-By-Construction Cost effective for partial coverage: Attack Modeling
Effectiveness = High
Automated Static Analysis - Binary or Bytecode
According to SOAR, the following detection techniques may be useful: Highly cost effective:
Binary / Bytecode Quality Analysis Compare binary / bytecode to application permission manifest
Effectiveness = High
Dynamic Analysis with Manual Results Interpretation
According to SOAR, the following detection techniques may be useful: Cost effective for partial
coverage: Automated Monitored Execution
Effectiveness = SOAR Partial
Automated Static Analysis
According to SOAR, the following detection techniques may be useful: Cost effective for partial
coverage: Permission Manifest Analysis
Effectiveness = SOAR Partial
Automated Static Analysis - Source Code
According to SOAR, the following detection techniques may be useful: Highly cost effective:
Source Code Quality Analyzer Cost effective for partial coverage: Warning Flags Source code
Weakness Analyzer Context-configured Source Code Weakness Analyzer
Effectiveness = High
Dynamic Analysis with Automated Results Interpretation
According to SOAR, the following detection techniques may be useful: Cost effective for partial
coverage: Web Application Scanner Web Services Scanner Database Scanners
Effectiveness = SOAR Partial
Manual Static Analysis - Source Code
According to SOAR, the following detection techniques may be useful: Highly cost effective:
Manual Source Code Review (not inspections) Cost effective for partial coverage: Focused
Manual Spotcheck - Focused manual analysis of source
Effectiveness = High
Potential Mitigations
Phase: Implementation
Remove dead code before deploying the application.
Phase: Testing
Use a static analysis tool to spot dead code.
Demonstrative Examples
Example 1:
The condition for the second if statement is impossible to satisfy. It requires that the variables be
non-null. However, on the only path where s can be assigned a non-null value, there is a return
statement.
Example Language: C++ (Bad)
String s = null;
if (b) {
CWE Version 4.14
CWE-561: Dead Code
CWE-561: Dead Code