Ohjelmoinnissa umpikujatietue ( eng . Dead Store ) on arvon määrittäminen paikalliselle muuttujalle, jos tätä arvoa ei lue mikään myöhemmistä käskyistä. Deadlock-kirjoitukset vievät suorittimen aikaa ja muistia eivätkä tee mitään. Ne voidaan löytää käyttämällä staattista koodianalyysiä .
Esimerkkikoodi, jossa on umpikujamerkintä Javassa:
// DeadStoreExample.java tuonti java.util.ArrayList ; tuonti java.util.List ; public class DeadStoreExample { public static void main ( String [] args ) { List < String > list = new ArrayList < String > (); // Tämä tehtävä on tynkä, koska ArrayList-luetteloa ei koskaan lueta. lista = getList (); Järjestelmä . ulos . println ( lista ) } yksityinen staattinen List < String > getList () { return new ArrayList < String > ( "hei" ); } }Tässä esimerkissä ArrayList<String>-objekti instantoitiin, mutta sitä ei koskaan käytetty. Sen sijaan siihen viittaneelle muuttujalle määritettiin viittaus toiseen objektiin. ArrayList-ilmoituksen yhteydessä varattu muistialue on vapautettava esimerkiksi roskakorin avulla .
Esimerkkikoodi, jossa on JavaScriptin umpikujamerkintä:
funktio func ( a , b ) { var x ; var i = 300 ; kun taas ( i -- ) { x = a + b ; // umpikuja } }Tämä esimerkki korvaa saman paikallismuuttujan useita kertoja silmukassa . Vaikka vain viimeisessä iteraatiossa kirjoitettua arvoa voidaan käyttää ohjelmassa tämän silmukan jälkeen . Siten kaikki kirjoitukset x-muuttujaan, paitsi viimeinen, ovat umpikujia.
Optimointikääntäjässä umpikujatietueiden poistaminen voidaan tehdä optimoimalla kuolleiden koodien poisto [1] tai optimoimalla umpikujatietueiden poisto ( eng. Dead Store Elimination ) [2] .