shock, wear, corrosion, stress corrosion cracking, and various types of fatigue. Each produces a different type of fracture surface, and other indicators near the fracture surface(s). The way the product is loaded, and the loading history are also important factors which determine the outcome. Of critical importance is design geometry because stress concentrations can magnify the applied load locally to very high levels, and from which cracks usually grow. Over time, as more is understood about a failure, the failure cause evolves from a description of symptoms and outcomes (that is, effects) to a systematic and relatively abstract model of how, when, and why the failure comes about (that is, causes). The more complex the product or situation, the more necessary a good understanding of its failure cause is to ensuring its proper operation (or repair). Cascading failures, for example, are particularly complex failure causes. Edge cases and corner cases are situations in which complex, unexpected, and difficult-to-debug problems often occur. Failure by corrosion Materials can be degraded by their environment by corrosion processes, such as rusting in the case of iron and steel. Such processes can also be affected by load in the mechanisms of stress corrosion cracking and environmental stress cracking. See also Failure analysis Failure mode and effects analysis (FMEA) Failure modes, effects, and diagnostic analysis (FMEDA) Failure rate Forensic electrical engineering Forensic engineering Hazard analysis Ultimate failure Notes Failure Reliability engineering Maintenance