ko ut zamanl yaz l m bile enleri i in bir otomatik do rulama er evesi vyrdmc
Download
Skip this Video
Download Presentation
Koşut-zamanlı Yazılım Bileşenleri için Bir Otomatik Doğrulama Çerçevesi: VyrdMC

Loading in 2 Seconds...

play fullscreen
1 / 19

Koşut-zamanlı Yazılım Bileşenleri için Bir Otomatik Doğrulama Çerçevesi: VyrdMC - PowerPoint PPT Presentation


  • 168 Views
  • Uploaded on

Koşut-zamanlı Yazılım Bileşenleri için Bir Otomatik Doğrulama Çerçevesi: VyrdMC. Tayfun Elmas Serdar Taşıran. Koç Üniversitesi Sarıyer, İstanbul http://designtech.ku.edu.tr. Koşut-zamanlı Bileşenler. Soyutlanmış bir veriyapısı + koşut-zamanlı prosedürler

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Koşut-zamanlı Yazılım Bileşenleri için Bir Otomatik Doğrulama Çerçevesi: VyrdMC' - chaz


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ko ut zamanl yaz l m bile enleri i in bir otomatik do rulama er evesi vyrdmc

Koşut-zamanlı Yazılım Bileşenleri içinBir Otomatik Doğrulama Çerçevesi: VyrdMC

Tayfun Elmas

Serdar Taşıran

Koç Üniversitesi

Sarıyer, İstanbul http://designtech.ku.edu.tr

UYMS’05, ODTÜ, Ankara

ko ut zamanl bile enler
Koşut-zamanlı Bileşenler
  • Soyutlanmış bir veriyapısı + koşut-zamanlı prosedürler
  • Geniş kapsamlı yazılımlarda yapıtaşı
    • Dosya sistemleri, veritabanları, internet servisleri
    • Standart Java ve C# kütüphaneleri
  • Başarımı artırmak için karışık senkronizasyon mekanizmaları kullanımı
    • Koşut-zaman hatalarına yatkın
  • Koşut-zaman hataları
    • Veri bozulması ve veri kaybı
    • Oluşturulması, tespiti ve yeniden oluşturulması zor
    • Standart test yöntemi yetersiz

http://designtech.ku.edu.tr

standart test y ntemi
Standart Test Yöntemi
  • Uzun koşut-zamanlı testler çalıştır
  • Çalışma sonucu son durumu kontrol et.
    • Tüm sıralı çalışmaları kontrol et.
      • N metot için N! farklı sıralama
    • Ara durumları denetlemek çok daha pahalı.
      • Her iş parçacağından kaç metot sona erdi?
  • Düşük gözlemlenebilirlik
    • Girdi-çıktı ilişkisi denetlenir.
    • Hata analizi zor
    • Yanlış pozitifler: Hatalı durumlar kaçırılabilir.

http://designtech.ku.edu.tr

al ma zaman do rulama vyrd

...

Return“success”

Return“success”

Return“success”

Call LookUp(3)

Call Insert(3)

Unlock A[1]

Return “true”

A[0].elt=3

Unlock A[0]

read A[0]

Unlock A[0]

A[1].elt=4

Call Insert(4)

A[0].elt=null

Call Delete(3)

Çalışma Zamanı Doğrulama: Vyrd

Test Birimi

Koşut-zamanlımetot çağrıları

Gerçekleştirim

Yürütmeyi günlüğe kaydet

Olayları günlükten oku

Günlükteki olaylarıyeniden çalıştırılır.

Çağrılan metotları sıralı çalıştırılır.

Yürütme-tekrarbirimi

Gerçekleştirim*

Belirtim*

Arıtma denetleme

Yürütme izi[ Belirtim ]

Yürütme izi[ Gerçekleştirim ]

http://designtech.ku.edu.tr

do ruluk kriteri ar tma detay cikar
Doğruluk Kriteri: Arıtma (Detay cikar)
  • Belirtim: Bileşenin sıralı ortamdaki davranışı tanımlar.
  • Gerçekleştirim: Koşut-zamanlı ortamda çalışır.
  • Kriter: Gerçekleştirime ait her koşut-zamanlı çalışma için belirtime ait denk sıra-düzenli bir çalışma olmalıdır.
  • Reduction, purity: Karmaşık yazılımlar için yanlış negatifler.
  • Sequential consistency, linearizability: Belirtim koşut-zamanlı özel durumlarda yetersiz.
  • Arıtma: Belirtim koşut-zamanlı durumları göz önüne alır.
  • Yürütme boyunca denklik
    • Girdi/çıktı arıtma: Girdi çıktı verisi
    • Görüş arıtma: Soyut veri yapıları
  • Metot-yerel iddialardan daha kapsamlı
  • Yüksek gözlemlenebilirlik

S. Taşıran and S. Qadeer.Runtime refinement checking of concurrent data structures.

Proceedings of the Fourth Workshop on Runtime Verification (RV’04), İspanya, 2004.

http://designtech.ku.edu.tr

al ma zaman ar tma denetimi
Çalışma Zamanı Arıtma Denetimi
  • Yürütme izlerinin arıtma için denetlenmesi
    • Çalışma süresince oluşan olayları izle.
      • Yürütme izi: Olayların “bütün-sıralı” dizisi
    • Toplanan veriyi arıtma için analiz et.
  • Endüstriyel seviyede yazılımlarda etkin denetim
  • Test ve etraflı doğrulama arasında
    • Kapsamanın ölçülmesi önemli

http://designtech.ku.edu.tr

teslim noktas
Teslim Noktası
  • Teslim noktası: Metodun tüm etkisi dış ortama aktarılması
    • Her metot çalışması için tek bir teslim noktası
  • Teslim noktalarının bütün-sırası: Tanık-sıra
    • Koşut-zamanlı çalışma için tek bir sıralama
  • Her metot için
    • Birden fazla teslim noktası
    • Her çalışmada sadece bir teslim noktası
  • Yürütme boyunca teslim noktalarında denetleme
    • Girdi/çıktı-arıtma denetimi
    • Görünüm-arıtma denetimi

http://designtech.ku.edu.tr

al ma zaman do rulama vyrd1

...

Return“success”

Return“success”

Return“success”

Call LookUp(3)

Call Insert(3)

Unlock A[1]

Return “true”

A[0].elt=3

Unlock A[0]

read A[0]

Unlock A[0]

A[1].elt=4

Call Insert(4)

A[0].elt=null

Call Delete(3)

Çalışma Zamanı Doğrulama: Vyrd

Test Birimi

Koşut-zamanlımetot çağrıları

Gerçekleştirim

Yürütmeyi günlüğe kaydet

Olayları günlükten oku

Günlükteki olaylarıyeniden çalıştırılır.

Çağrılan metotları sıralı çalıştırılır.

Yürütme-tekrarbirimi

Gerçekleştirim*

Belirtim*

Arıtma denetleme

Yürütme izi[ Belirtim ]

Yürütme izi[ Gerçekleştirim ]

http://designtech.ku.edu.tr

al ma zaman do rulama vyrd2
Çalışma Zamanı Doğrulama: Vyrd
  • İletişim günlük ile sağlanır
    • Gerçek-zamanlı/Çevrimdışı denetleme
    • Programa en az düzeyde müdahale

Tayfun Elmas, Serdar Taşıran, Shaz Qadeer. VYRD: VerifYing Concurrent Programs by

Runtime Refinement-Violation Detection. ACM SIGPLAN 2005 Conference on Prog.

Lang. Design and Implementation (PLDI\'05). Chicago, Illinois, U.S., June 12-15 2005.

http://designtech.ku.edu.tr

model denetleyici kullan m
Model Denetleyici Kullanımı
  • Test-bazlı yaklaşımlarda kapsama problemi
  • Kapsamanın sürekli olarak artırılması
  • Testin kontrollü çalıştırılması
    • İş parçacığı zamanlaması kontrolü

http://designtech.ku.edu.tr

otomatik do rulama er evesi vyrdmc

...

Return“success”

Return“success”

Return“success”

Unlock A[1]

Return “true”

Call LookUp(3)

Unlock A[0]

Call Insert(3)

A[0].elt=3

read A[0]

A[1].elt=4

Unlock A[0]

Call Insert(4)

A[0].elt=null

Call Delete(3)

Otomatik Doğrulama Çerçevesi: VyrdMC

MODEL DENETLEYİCİ

Test Birimi

Koşut-zamanlımetot çağrıları

Gerçekleştirim

Yürütmeyi günlüğe kaydet

Olayları günlükten oku

Günlükteki olaylarıyeniden çalıştırılır.

Çağrılan metotları sıralı çalıştırılır.

Yürütme-tekrarbirimi

Gerçekleştirim*

Belirtim*

Arıtma denetleme

Yürütme izi[ Belirtim ]

Yürütme izi[ Gerçekleştirim ]

ÇALIŞMA-ZAMANI ORTAMI

http://designtech.ku.edu.tr

otomatik do rulama er evesi vyrdmc1
Otomatik Doğrulama Çerçevesi: VyrdMC

Tayfun Elmas, Serdar Taşıran. VyrdMC: Driving Runtime Refinement Checking with

Model Checkers. Fifth Workshop on Runtime Verification (RV\'05). The University of

Edinburgh, Scotland, UK. July 12, 2005.

  • Model denetleyici kullanımı
    • Kapsamanın sürekli artırılması
  • Çalışma-zamanı ortamı (sanal makine) kullanımı
    • Çalışmanın tam kontrolü, sürecin otomatikleştirilmesi

http://designtech.ku.edu.tr

al ma zaman ortam kullan m
Çalışma-zamanı Ortamı Kullanımı
  • Örnek: Java PathFinder üzerinde Java sanal makinesi
  • Atomik kod parçalarının otomatik kategorizasyonu: byte-code komutları
  • Çalışmanın izlenerek günlüğe kaydedilmesi:her komut için standart kayıt
  • Çalışmanın yeniden oynatılması:komutlar aynı mekanizmayla işletilir

http://designtech.ku.edu.tr

kosut zamanliliktan kaynaklanan hataya odaklanm test
Kosut-zamanliliktan kaynaklanan Hataya Odaklanmış Test
  • Amaç: Metotlar arası koşut-zaman karakteristiğini ortaya çıkarmak
    • Bağımlı kod parçalarının koşut-zamanlı çalıştırılması
  • Her iş parçacığı için tek bir metot
    • Metotlar ortak paylaşımlı değişkenler üzerine yönlendirilir.

http://designtech.ku.edu.tr

deneyimler vyrd
Deneyimler (Vyrd)
  • Windows NT, Scan dosya sistemi
  • Boxwood dağıtık veri depolama sistemi
  • java.util

http://designtech.ku.edu.tr

leri do rulama y ntemleri optional
İleri Doğrulama Yöntemleri (optional)
  • Katmanlı bileşenlerin doğrulanması
    • Tüm katmanlar aynı anda denetlenir: Ortak test ortamı
    • Her bileşen için ayrı kaynak ve denetleme
  • Kısmi-sıralı indirgeme tekniklerinin geliştirilmesi
    • İçsel veri yapısından yararlanılması
    • Sadece ilgilenilen veri ve kodun denetlenmesi
      • Güvenilirlikten (soundness) taviz
    • Örnek: İkili ağacın Ekle metodu için sadece eklemeyi yapan kod parçası

http://designtech.ku.edu.tr

yaz l m s recine entegrasyonu
Yazılım Sürecine Entegrasyonu
  • Erken denetim, az hata
    • Hatalar sürecin sonraki aşamalarına aktarılır.
    • Karmaşık kod, hata analizini zorlaştırır.
  • Eklenen her metot testlere eklenir ve denetlenir.
  • Programcının sorumlulukları
    • Soyutlama fonksiyonunun yazılması
    • Denetlenecek metotların belirlenmesi
    • Teslim noktalarının tespiti ve kodla donatılması

http://designtech.ku.edu.tr

slide18
Sonuç
  • Arıtma: Koşut-zamanlı bileşenler için doğruluk kriteri
    • Kapsamlı doğruluk değerlendirme
    • Yüksek gözlemlenebilirlik
    • Üst seviye koşut-zaman hatalarının tespiti
  • Vyrd: Çalışma zamanı arıtma denetleme
    • Yürütmenin günlük üzerinde takibi ve denetlenmesi
    • Endüstriyel seviye yazılımlarda etkili
  • VyrdMC: Otomatik arıtma denetleme çerçevesi
    • Model denetleyici ile bütünleşme: Çalışmanın kontrolü
    • Çalışma-zamanı ortamı: otomatik yürütme kontrolü
  • Kapsamanın ölçülmesi ve kontrolü

Serdar Taşıran, Tayfun Elmas, Güven Bölükbaşı, M. Erkan Keremoğlu. A Novel Test Coverage Metric for Concurrently-Accessed Software Components. Fifth International Workshop on Formal Approaches to Testing of Software (FATES 2005). University of Edinburgh, UK, July 11, 2005.

http://designtech.ku.edu.tr

sorular
Sorular

Koşut-zamanlı Yazılım Bileşenleri içinBir Otomatik Doğrulama Çerçevesi: VyrdMC

Tayfun Elmas

Serdar Taşıran

Koç Üniversitesi

Sarıyer, İstanbul

http://designtech.ku.edu.tr

ad