Yukarı doğru maruz kalan kullanımlar - Upwards exposed uses

Yukarı doğru maruz kalan kullanımlar veya ulaşılabilir kullanımlar,[1] bir kavramdır derleyici teorisi olan kopya yayma derleme aşaması.[2]

Kullanımlar

Esnasında kopya yayma aşaması program derlemesi, hedef örnekleri, değerlerine atamalarla değiştirilir. Bu işlem sırasında, derleyicinin bir hedefin hangi örneklerine erişildiğini anlaması gerekir, böylece kavramla ilgili uygun ikame gerçekleşebilir. tanıma ulaşmak analize ulaşmada.[3] Bu, çalıştırmadan önce kodu basitleştirmek amacıyla yapılır: Bir atamanın yukarı doğru maruz kalan kullanımlarının sayısı sıfırsa, kodun nihai sonucuna katkıda bulunmaz ve güvenli bir şekilde kaldırılabilir.[1] Bu, derleme aşamalarında kod güvenliğini artırmak için de yararlıdır.[4]

Misal

Aşağıdaki sözde kodu düşünün:

1 x = 12 y = z3 4 Eğer Yanlış:5     x = 06 Başka:7     x = y + 2

Bu noktanın sıfır olması için yukarı doğru maruz kalan kullanım sayısının gösterdiği gibi, 5. satırın asla oluşmayacağını varsaymak güvenlidir. Bu nedenle bu basitleştirilebilir:

1 y = z2 x = z + 2

Bu, derlemesi daha az karmaşık ve çalıştırması daha verimli olan bir sonuca götürür.[2] Bu aynı zamanda tanımını da karşılar tanıma ulaşmak: Bu bağlamda, tanıma ulaşma gereksinimlerini göstermek için yukarı doğru akış analizi kullanılan teknikti. Ek teknikler, çeşitli döngü biçimlerine sahip olanlar gibi daha derinlemesine iç içe geçmiş veya karmaşık kontrol akışı problemlerinin daha karmaşık analizine izin verir.[4]

Ayrıca bakınız

Referanslar

  1. ^ a b Harrold, Mary Jean (Güz 2009). "Temel Analiz" (PDF). Georgia Tech - Bilgisayar Koleji. CS 6340: Yazılım Analizi ve Testi. Atlanta, Georgia, ABD: Gürcistan Teknoloji Enstitüsü. Arşivlendi (PDF) 2020-06-20 tarihinde orjinalinden. Alındı 2020-06-12.
  2. ^ a b Aho, Alfred Vaino; Lam, Monica Sin-Ling; Sethi, Ravi; Ullman, Jeffrey David (2006). Derleyiciler: İlkeler, Teknikler ve Araçlar (2 ed.). Boston, Massachusetts, ABD: Addison-Wesley. ISBN  0-321-48681-1. OCLC  70775643.
  3. ^ Kore, Aamod (2020). "Yukarı Açık Kullanımlar". Toronto, Ontario, Kanada: Bilgisayar Bilimleri Bölümü, Toronto Üniversitesi. Arşivlendi 2020-06-20 tarihinde orjinalinden. Alındı 2020-06-12.
  4. ^ a b Bergeretti, Jean-Francois; Carré, Bernard A. (1985-01-02). "While-Programlarının Bilgi Akışı ve Veri Akışı Analizi". Programlama Dilleri ve Sistemlerinde ACM İşlemleri. Bilgi İşlem Makineleri Derneği. 7 (1): 37–61. doi:10.1145/2363.2366. Arşivlendi 2020-06-20 tarihinde orjinalinden. Alındı 2020-06-20.