Data
This makale veya kısım yıkanıp temizlenmeyi in kaliteli standardıyla karşılaşmak için gerektirebilir.
bu makale geliştirene lütfen yardım eder
daha fazla belirli bir mesaj takip eden bu makaleni geliştiren bu makaleni geliştirenene lütfen yardım eder veya Bunu değiştirir. Bu makale Haziran 2006dan beri etiketlenmiş. ( Yardım , konuşma)
Data<-strong>-akış analiz bir bilgisayar programında çeşitli noktalarda hesaplayan değerlerin mümkün takımı hakkında toplantı bilgisi için bir tekniktir. Bir programın kontrol akış grafiği özel bir değerin, üreten değişken bire tayin eden bir programın Şu bölümleri belirlerdı. Bilgi bir programı optimize ediyor oluncanın, derleyiciler tarafından kullanılan sık sık topladı. Bir veri-akış analizin kurallara uygun bir örneği tanımlara ulaşıyor. Programların dataflow analizi yapmak için yol grafik akan kontrolun her bir düğümü için dataflow denklemleri kurmaktır Programların dataflow analizi yapmak için yol bütün sistemine kadarına kadar her bir düğümdede giriştenden hesapla çıktının, bütün sistemine kadarına kadar her bir düğümdede giriştenden çıktının, , ben hesaplıyor olan grafik akan grafik akan kontrolun her bir düğümü için dataflow denklemleri kurmaktır ve Tekrar tekrar tarafından onları yerel olarak çözüyor. E. , o bir fixpoinde ulaşır. Sonu garanti etmek. Veri akışı denklemlerinin, bir sabit-nokta veri-akış analiz , bana biçim verdiğini gerektirilir E. , denklemler tarafından yerel güncellemeler monotondur. deniz kuvvetlerine ait yüksek öğrenim okulda öğretim iken bu genel yaklaşma Gary Kildall tarafından geliştirildi. [ 1] Dataflow denklemlerin
Contents
1 bir iterative algorithm 2 düzen matters 3 örnekler3.1 Analysis 3.2 geç kavrayan Analysis
4 Sensitivities 5 Notes 6 reading
//
bir iterative algorithm
The fixpoindi yuvarlak-ardıçkuşu iterative algoritmayı kullanıyor olan hesaplanmış ileri daha ileri olur: İterativelyin
düzen matters
The verimliliği yerel düğümlerin, ziyaret edilen düzen tarafından sözünü geçirilen veri-akış denklemler çözüyor. Onun, düzen düğümlerinin, düğümlerin takımından seçilen olduğu bağlı olduğu yuvarlak-ardıçkuşu iterative algoritmada üzerindeki için. Bundan başka , O bağlı olur mi acaba Veri-akış denklemler ileri için veya CFG 'ın üzerinde veri-akış analiz geriye doğru kullanılır. Takip edende , veri-akış denklemler çözme için birkaç tekrar düzenler tartışılır( Bir CFG 'ın tekrar düzenine benzeyen bir kavram bir üçün üç traversalıdır) .
- random düzen bu tekrar düzeni farkında değildir mi acaba Veri-akış denklemler ileri bir veya veri-akış problemi geriye doğru çözer. , başarı uzmanlaşmış tekrar düzenlerine karşılaştıran o yüzden nispeten fakirdir.
- postorder bu geriye doğru veri-akış problemler için tipik bir tekrar düzendir. Postorder tekrar bir düğümde ziyaret edilen nihayet halef düğümlerini ziyaret etti. , postorder tekrar derinlik-ilk stratejiyle tipik olarak tamamlanır.
- reverse postorder bu ileri veri-akış problemler için tipik bir tekrar düzendir. Reverse-postorder tekrar bir düğümde tüm halef düğümleri halef bir arka kenarı tarafından ulaşılan olunca ziyaret edilmiş olmadan önce ziyaret edilir. ( Bu preorder gibinin, aynı olmadığı dikkat edin. )
Examples
The takip eden veri-akış analiz tarafından hesaplanan olan bilgisayar programlarının özelliklerinin örnekleridir. Tipik olarak yalnızca veri-akış analiz tarafından hesaplanan özellikler olduğu dikkat edin. Mülklerin tahminleridir Bu çünkü Veri-akış analiz programın kesin kontrol akışı benzerini yapmasız CFG 'ın syntactical yapısını ameliyat eder. , ol hala yararlı , bir veri-akış analiz algoritması gerçek program özelliklerinin bir ayakkabı yüzü tahminini hesaplamak için uygulamada tipik olarak sırasıyla aşağı tasarlanır.
Analysis
The ulaşma tanımı analizi potansiyel olarak değer bicen bu program noktasına ulaşabildiği değişkenin takımını işaret eden her bir program için ileri hesaplar.
1: Eğer b = = 4 2 o zaman: Bir = 5; 3: Else4: Bir = 3; 5: Endif 6: 7: İfa & lt; 4 8 o zaman: . . . Değişkenin
The ulaşma tanımı" Bir" Çizgi 7 'de takım {3,5}dir.
geç kavrayan Analysis
The canlı değişken analiz sonraki yazma güncellemeleriden öncenin, potansiyel olarak oku sonra olabilen değişkenleri işaret eden her bir program için hesaplar.
1: Bir = 3; 2: B = 5; 3: C = bir + b; Çizgi 2 'de ki canlı değişkenlerin
The takımı {adır , B} , fakat çizgi 1 'de ki canlı değişkenlerin takımı değişkenden beri yalnızca {a}dır" B" Çizgi 2.
Sensitivities
Data<-strong>-akış analizde tabiatında güncelledi mi akış-duyarlı olan. Data<-strong>-akış analiz tipik olarak yol-hissetmez ,dir. Veri-akış denklemler tanımlamak için mümkün bir yol-duyarlı analizi verdiği
These dönemler veri-akış analize belirli değildir. Takip eden tanımlar ve daha fazla fazla gereksiz sözcük kullanan örneklerle fleshed dışa hareket edilen başka bir yer olur. İn parazit analizi için in inter-belge yapısı bazı reworğu kullanabildi.
- A akış-duyarlı analiz bir programda ifadelerin düzenini hesaba katar. Örneğin , bir akış-hissetmez işaretçi takma adı analizi belirleyebilir" Değişkenler x ve y aynı yere başvurabilir" Bir akış-duyarlı analiz belirleyebilirken ," Değişkenler x ve y ifade 20den sonra aynı yere başvurabilir" .
- A yol-duyarlı analiz yalnızca programdan geçerek geçerli yolları düşünür. Örneğin , , Analiz eğer bir fonksiyonun farklı bölümlerinde iki operasyon karşılık yüklemleri tarafından korunan olsaydı her ikisi operasyonların, nerede çalıştırdığı yolları yalnızca düşünmeli. veya Her iki operasyon çalıştırmaz Analiz eden yol-duyarlı ister istemez Akış-duyarlıdır.
- A bağlam-duyarlı analiz bir fonksiyon bağırmasının hedefini analiz ediyor oluncanın, seslenme bağlamını hesaba kadan bir interprocedural analizdir. örneğin fonksiyon dönüşleriden önce belirleyen bir dosya sapı ve mantıksal bir parametreyi kabul eden bir fonksiyonu düşünün. mi acaba Dosya sapı kapalı olmalı Fonksiyonun herhangi bir ziyaretçisinin bir bağlam-duyarlı analizi mantıksal parametrenin değerini belirlemek için hesaba katmalı mi acaba Dosya sapı fonksiyon dönüşleri iken kapalı olacak.
Notes
^ Kildall , Gary( 1973) . " Global program Optimization 'a birleştirilmiş bir yaklaşma" . Diller programlamanın prensiplerindeki 1st yıllık ACM SIGACT-SIGPLAN sempozyumun tutanağı. 2006-11-20.
reading
- Ahoda , Alfred V daha ileri tekrar ele geçirdi. Sethi , Ravi. Ullman , Jeffrey D. Derleyiciler: Prensipler , teknikler ve araçlar. Addison Wesley. 1986.
- Appel , Andrew W. ML 'da ki modern derleyici yürütme. Cambridge üniversite basını. 1999.
- Cooper , Keith D. Ve Torczon , Linda. Mühendislik bir derleyici. Morgan Kaufmann. 2005.
- Muchnick , Steven S. Gelişmiş derleyici dizaynı ve yürütme. Morgan Kaufmann. 1997.
- Hecht , Matthew S. Bilgisayar programlarının analizi akın. Elsevier kuzey-Hollanda Inc. 1977.
data flow analysis ile ilgili Anahtar Kelimeler :visited variable function variables order set equations iteration the are dataflow for analysis flow that program may and The This
Öğrenebileceğiniz diğer şeyler :
data flow analysis,
David Lloyd George,
David Lynch,
David Odd,
David Oddsson,
David Ogilvy,
David Page,
David Paice,
David Paich,
David Paisley,
David Pajo,
David Pakman,
David Palffy,
David Ricardo,
David Roney,
David Schwimmer,
David Seymour,
David Spangler,
David Stubbs,
David Stupich,
David Susskind,
David Tennant,
David Tepper,
David Terbrugge,
David Terence Puttnam,
David Terence Puttnam, Baron Puttnam,
David Terence, Lord Puttnam of Queensgate Puttnam,
David Terrell,
David Trezeguet,
David Trézéguet,
David Villa,
David, the Elder Teniers,
David, the Younger Hartley,
David, the Younger Teniers,
David, Viscount Lascelles,
David, Viscount Linley,
David-Augustin De Brueys,
Davidson College, NC,
Davidson County, North Carolina,
Davie Allan & the Arrows,
Davie Allan and The Arrows,
Davie Berman,
Davis Corners, Ontario,
Davis County,
Davis Creek, CA,
Davis Totem,
Davis Township, Minnesota,
Davis Township, MN,
Davis University of California,
Davis Vidal,
Davis Wade Stadium,
Davis Waite,
Davit,
Davor Suker,
Davor Å uker,
Davranisçilik,
Davud,
Davud el kayseri,
Davud el-Isbehani,
Davûd el-Isbehânî,
Davud el-Kayseri,
Davud ez-Zahiri,
Davûd ez-Zahiri,
Davud u kayseri,
Davudu kayseri,
Davud-u Kayseri,
Davul,
Davulcu,
Davut,
Davut Disli,
Davut Güloglu,
Davut Heykeli (Michelangelo),
Davut Pasa,
Davutlar,
Davutlar, Kusadasi,
Davutpasa,
Davutpasa Kislasi,
Dawn,
Dawn (Buffy Vampir Avcisi),
Dawn (Vampir Avcisi Buffy),
Dawson,
Dawsons creek,
Daydream — Moorland,
Daydream World Tour,
Dayereh,
Dayo Wong,
Dayo wong chi wah,
Dayo Wong Chi-Wah,
Dayong,
Daypart,
Dayparting,
Daypro,
Dazkiri,
Dazkiri, Afyonkarahisar,
Db-7,
Dbase,
DDL,
DDLJ,
DDOS,
DDR RAM