Ko ut zamanl yaz l m bile enleri i in bir otomatik do rulama er evesi vyrdmc
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

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


  • 97 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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

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


Ko ut zamanl yaz l m bile enleri i in bir otomatik do rulama er evesi vyrdmc

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


  • Login