Show simple item record

dc.contributor.advisorTaşıran, Serdar
dc.contributor.authorKeremoğlu, Mehmet Erkan
dc.date.accessioned2020-12-08T08:12:09Z
dc.date.available2020-12-08T08:12:09Z
dc.date.submitted2007
dc.date.issued2018-08-06
dc.identifier.urihttps://acikbilim.yok.gov.tr/handle/20.500.12812/170924
dc.description.abstractBu tezde koşut zamanlı çalışan programların test programı kapsam ölçümlerini yaparak, kullanıcının test programını geliştirmesi için kullanılabilecek konum çiftleri (Location Pairs) ölçütü sunulmaktadır. Location Pairs (LP) ölçütü akademi ve endüstride kullanılan koşut zamanlı çalışan programlarda sıklıkla karşılaşılan bir yüksek düzey hata örüntüsünden esinlenerek yaratılmıştır. Yüksek düzey hatalar koşut zamanlı çalışan bir programın bileşenlerinin arasında paylaşılan ve atomik olarak değiştirilmesi gereken değişkenlerin atomik olarak değiştirilmemesi sonucu ortaya çıkar. Bu tür hatalar alt düzey hatalardan farklıdır çünkü bu tür hataları önlemek için paylaşılan değişkenlerin tek tek korunması yerine birden fazla değişken birlikte korunmalıdır. LP ölçütü bir Java sanal makinesi ve statik yarış tespit aracı kullanılarak kodlanmıştır. İlk olarak statik yarış tespit aracı kullanılarak paylaşılan değişkenler tespit edilmektedir. İkinci adımda konum çiftleri paylaşılan değişkenler taranarak tespit edilmektedir. Daha sonra test programının yürütümü testin çalıştırılması esnasında sanal makine aracılığı ile gözlemlenmektetir. Son adımda gözlemler sonucu elde edilen ölçüm sonuçları kullanıcıya rapor edilmektedir. Kullanıcı bu sonuçlara göre daha fazla konum çiftini kapsayacak test senaryoları yaratabilir. Yaptığımız deneylerde de gösterdiğimiz gibi koşut zamanlı çalışan programların testlerinde LP ölçümü yüksek düzey hataların bulanmasında kullanıcılara yardımcı olmaktadır.
dc.description.abstractIn this thesis, we present a coverage metric, namely the Location Pairs (LP) coverage, for improving the testing of programs which have concurrently running components. The LP coverage metric is inspired by an execution pattern, encountered in practically used software, that leads to high-level concurrency errors. A high-level concurrency error occurs if a set of thread-shared variables are needed to be accessed atomically, but some threads access them non-atomically. These errors are different from low-level data races, because to avoid data races, protecting single variables is sufficient. The LP coverage metric aims to detect if a pattern of two consecutive actions is executed. The measurement of the LP coverage metric is implemented using a Java virtual machine and a static race detection tool. First, we detect accesses to shared-variables using static analysis of the race detection tool. Second, location pairs are extracted using this information. Then, we monitor the execution of the tests and record any consequent accesses to locations which accesses the same shared data. At the end, we report covered and uncovered pairs to the developer. The developer can create more interesting scenarios using coverage report and can potentially prevent high level concurrency errors by testing rarely executed scenarios. We run our tool on several Java benchmarks to show that the tool can practically be used on large-scale programs and the LP coverage metric helps better to find concurrency errors compared to existing coverage techniques for sequential programs.en_US
dc.languageEnglish
dc.language.isoen
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rightsAttribution 4.0 United Statestr_TR
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/
dc.subjectBilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontroltr_TR
dc.subjectComputer Engineering and Computer Science and Controlen_US
dc.titleThe location pairs coverage metric for testing of concurrent programs
dc.title.alternativeKoşut zamanlı çalışan programların testleri için konum çiftleri ölçütü
dc.typemasterThesis
dc.date.updated2018-08-06
dc.contributor.departmentElektrik ve Bilgisayar Mühendisliği Anabilim Dalı
dc.identifier.yokid337535
dc.publisher.instituteFen Bilimleri Enstitüsü
dc.publisher.universityKOÇ ÜNİVERSİTESİ
dc.identifier.thesisid245400
dc.description.pages115
dc.publisher.disciplineDiğer


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

info:eu-repo/semantics/openAccess
Except where otherwise noted, this item's license is described as info:eu-repo/semantics/openAccess