elimination. Unreachability vs. profiling In some cases, a practical approach may be a combination of simple unreachability criteria and use of a profiler to handle the more complex cases. Profiling in general can not prove anything about the unreachability of a piece of code, but may be a good heuristic for finding potentially unreachable code. Once a suspect piece of code is found, other methods, such as a more powerful code analysis tool, or even analysis by hand, could be used to decide whether the code is truly unreachable. See also Code coverage Redundant code Dead code Oxbow code References Appel, A. W. 1998 Modern Compiler Implementation in Java. Cambridge University Press. Muchnick S. S. 1997 Advanced Compiler Design and Implementation. Morgan Kaufmann. Compiler optimizations Software anomalies Source code