Dead code: Difference between revisions

Content deleted Content added
Reverting edit(s) by 201.162.227.111 (talk) to rev. 1239272187 by Es20490446e: Vandalism (RW 16.1)
 
(6 intermediate revisions by 6 users not shown)
Line 1:
{{Short description|Computer code that is never executed}}
The term '''dead code''' has multiple definitions. Some use the term to refer to code (i.e. instructions in memory) which can never be executed at run-time.<ref>[{{Cite web |url=https://www.cs.bu.edu/~hwxi/academic/papers/padl99.pdf |title=Hongwei Xi, Dead Code Elimination through Dependent Types] |access-date=2020-05-06 |archive-date=2012-03-10 |archive-url=https://web.archive.org/web/20120310002543/http://www.cs.bu.edu/~hwxi/academic/papers/padl99.pdf |url-status=dead }}</ref><ref>[http://www.do178site.com/do178b_questions.php] {{Webarchive|url=https://web.archive.org/web/20200520200130/http://www.do178site.com/do178b_questions.php |date=2020-05-20 }} DO-178B</ref><ref>[[DO-178B]] Wikipedia/DO-178B.</ref>
In some areas of [[computer programming]], '''dead code''' is a section in the [[source code]] of a program which is executed but whose result is never used in any other computation.<ref>[http://doi.acm.org/10.1145/349214.349233 Debray, S. K., Evans, W., Muth, R., and De Sutter, B. 2000. Compiler techniques for code compaction. ACM Trans. Program. Lang. Syst. 22, 2 (Mar. 2000), 378–415.]</ref><ref>[[Andrew Appel|Appel, A. W.]] 1998 Modern Compiler Implementation in Java. Cambridge University Press.</ref> The execution of dead code wastes computation time and memory.
 
Line 19 ⟶ 20:
== Analysis ==
 
[[Dead-code elimination]] is a form of [[compiler optimization]] in which dead code is removed from a program. Dead code analysis can be performed using [[live -variable analysis]], a form of [[static program analysis|static-code analysis]] and [[data-flow analysis]]. This is in contrast to unreachable code analysis which is based on [[control flow analysis|control-flow analysis]].
 
The dead-code elimination technique is in the same class of optimizations as [[unreachable code]] elimination and [[redundant code]] elimination.
Line 34 ⟶ 35:
* [[Unreachable code]]
* [[Oxbow code]]
* [[Dead store]]
* ''0xDEADC0DE'' is a [[Magic number (programming)#Debug values|magic number]] written in [[Hexspeak]] used as a marker in [[OpenWrt|OpenWRT]] firmware