About: Dead store

An Entity of Type: Anomaly114505821, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In computer programming, a local variable that is assigned a value but is not read by any subsequent instruction is referred to as a dead store. Dead stores waste processor time and memory, and may be detected through the use of static program analysis, and removed by an optimizing compiler.

Property Value
dbo:abstract
  • In computer programming, a local variable that is assigned a value but is not read by any subsequent instruction is referred to as a dead store. Dead stores waste processor time and memory, and may be detected through the use of static program analysis, and removed by an optimizing compiler. If the purpose of a store is intentionally to overwrite data, for example when a password is being removed from memory, dead store optimizations can cause the write not to happen, leading to a security issue. Some system libraries have specific functions designed to avoid such dangerous optimizations, e.g. explicit_bzero on OpenBSD. (en)
  • En programación se conoce como almacenamiento muerto o dead store a la acción de asignarle un valor cualquiera a una variable local y no utilizarlo en ninguna instrucción subsecuente.​ Este tipo de error de software es indeseable debido a que requiere tiempo de computación y accesos a memorias de forma innecesaria, lo que impacta en el rendimiento. Existen técnicas de optimización en compiladores como por ejemplo la eliminación de código muerto que intentan encontrar y eliminar este tipo de prácticas del código fuente.​ Si el propósito de una variable es la intención de sobrescribir un dato, por ejemplo, cuando una contraseña se está eliminando de la memoria, las optimizaciones de almacenamiento muerto puede causar que la escritura no ocurra, provocando un problema de seguridad.​ Algunos sistemas tienen librerías específicas diseñadas para evitar estas peligrosas optimizaciones. Por ejemplo explicit_bzero en OpenBSD.​ (es)
  • У програмуванні тупико́вим за́писом (англ. Dead Store) називають присвоювання значення локальній змінній, якщо це значення не читається жодною з наступних інструкцій. Тупикові записи займають процесорний час і пам'ять, не приносячи ніякої користі. Їх можна виявити за допомогою статичного аналізу коду. Приклад коду з тупиковим записом мовою Java: // DeadStoreExample.javaimport java.util.ArrayList;import java.util.List;public class DeadStoreExample { public static void main(String[] args) { List<String> list = new ArrayList<String>; // Це присвоєння є тупиковим записом, оскільки ArrayList ніколи не читається. list = getList; System.out.println(list) } private static List<String> getList { return new ArrayList<String>("hello"); }} У цьому прикладі створено примірник об'єкта ArrayList, але він жодного разу не використовувався. Замість цього змінній, яка посилалася на нього, присвоєно посилання на інший об'єкт. Область пам'яті, виділену під час оголошення списку ArrayList, слід звільнити, наприклад, за допомогою прибиральника. Приклад коду з тупиковим записом мовою JavaScript: function func(a, b) { var x; var i = 300; while (i--) { x = a + b; // тупиковий запис }} У цьому прикладі виконується багаторазовий перезапис однієї і тієї ж локальної змінної в циклі. А використовуватися в програмі після цього циклу може тільки значення, записане на останній ітерація. Таким чином, усі записи в змінну x, крім останнього, є тупиковими. В оптимізувальному компіляторі видаленням тупикових записів може займатися оптимізація видалення мертвого коду або оптимізація (англ. Dead Store Elimination). (uk)
  • В программировании тупиковой записью (англ. Dead Store) называется присваивание значения локальной переменной, если это значение не читается никакой из последующих инструкций. Тупиковые записи занимают процессорное время и память, не принося никакой пользы. Они могут быть обнаружены с помощью статического анализа кода. Пример кода с тупиковой записью на языке Java: // DeadStoreExample.javaimport java.util.ArrayList;import java.util.List;public class DeadStoreExample { public static void main(String[] args) { List<String> list = new ArrayList<String>; // Это присваивание является тупиковой записью, так как ArrayList никогда не читается. list = getList; System.out.println(list) } private static List<String> getList { return new ArrayList<String>("hello"); }} В этом примере был создан экземпляр объекта ArrayList, но он ни разу не использовался. Вместо этого переменной, которая ссылалась на него, была присвоена ссылка на другой объект. Область памяти, которая была выделена при объявлении списка ArrayList, должна быть освобождена, например, с помощью сборщика мусора. Пример кода с тупиковой записью на языке JavaScript: function func(a, b) { var x; var i = 300; while (i--) { x = a + b; // тупиковая запись }} В этом примере происходит многократная перезапись одной и той же локальной переменной в цикле. В то время как использоваться в программе после этого цикла может только значение, записанное на последней итерации. Таким образом, все записи в переменную x, кроме последней, являются тупиковыми. В оптимизирующем компиляторе удалением тупиковых записей может заниматься оптимизация удаления мёртвого кода либо оптимизация (англ. Dead Store Elimination). (ru)
dbo:wikiPageID
  • 12973267 (xsd:integer)
dbo:wikiPageLength
  • 2744 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1119836838 (xsd:integer)
dbo:wikiPageWikiLink
dbp:cs1Dates
  • ly (en)
dbp:date
  • April 2019 (en)
dbp:wikiPageUsesTemplate
dcterms:subject
rdf:type
rdfs:comment
  • In computer programming, a local variable that is assigned a value but is not read by any subsequent instruction is referred to as a dead store. Dead stores waste processor time and memory, and may be detected through the use of static program analysis, and removed by an optimizing compiler. (en)
  • En programación se conoce como almacenamiento muerto o dead store a la acción de asignarle un valor cualquiera a una variable local y no utilizarlo en ninguna instrucción subsecuente.​ Este tipo de error de software es indeseable debido a que requiere tiempo de computación y accesos a memorias de forma innecesaria, lo que impacta en el rendimiento. Existen técnicas de optimización en compiladores como por ejemplo la eliminación de código muerto que intentan encontrar y eliminar este tipo de prácticas del código fuente.​ (es)
  • В программировании тупиковой записью (англ. Dead Store) называется присваивание значения локальной переменной, если это значение не читается никакой из последующих инструкций. Тупиковые записи занимают процессорное время и память, не принося никакой пользы. Они могут быть обнаружены с помощью статического анализа кода. Пример кода с тупиковой записью на языке Java: Пример кода с тупиковой записью на языке JavaScript: function func(a, b) { var x; var i = 300; while (i--) { x = a + b; // тупиковая запись }} (ru)
  • У програмуванні тупико́вим за́писом (англ. Dead Store) називають присвоювання значення локальній змінній, якщо це значення не читається жодною з наступних інструкцій. Тупикові записи займають процесорний час і пам'ять, не приносячи ніякої користі. Їх можна виявити за допомогою статичного аналізу коду. Приклад коду з тупиковим записом мовою Java: Приклад коду з тупиковим записом мовою JavaScript: function func(a, b) { var x; var i = 300; while (i--) { x = a + b; // тупиковий запис }} (uk)
rdfs:label
  • Almacenamiento muerto (es)
  • Dead store (en)
  • Тупиковая запись (ru)
  • Тупиковий запис (uk)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License