在程式码内插入新的运算以取代昂贵的运算行为，而被取代的程式码就成了死码，随后，死码删除会移除那些计算，以完成这个效果（没有复杂的强度折减演算法）。从历史上来看，死码删除使用来自资料流分析的资讯，Cytron et al在原始文章中发佈了一个基于静态单赋值形式的演算法，Shillingsburg改进了这个演算法，并开发了一个演算法来移除无用的控制流（Control-flow）。
动态死码删除.死码通常被视为无条件的（unconditionally），所以我们可以在编译时期透过死码