Geri Dön

Heuristics for concolic software testing

Konkolık yazılım testi için sezgisel yöntemler

  1. Tez No: 459435
  2. Yazar: YAVUZ KÖROĞLU
  3. Danışmanlar: DOÇ. DR. MEHMET ALPER ŞEN
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2016
  8. Dil: İngilizce
  9. Üniversite: Boğaziçi Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
  13. Sayfa Sayısı: 71

Özet

Yazılım testi, yazılım geliştirme sürecinin ayrılmaz bir parçasıdır. Konkolik test üzerinde sistematik testin daha büyük yazılımlara uygulanabilmesi amacıyla on yıllarca süren çalışmaların sonucu geliştirilmiş bir birim test yaratma tekniğidir. Ancak kısıt çözümü gibi darboğazlar konkolik testçilerin büyük projelerde kullanılmasına engel teşkil etmektedir. Kısıt çözümündeki darboğaz Test Altındaki Birim'in icra yollarındaki yüksek sayıda dallanmadan ileri gelmektedir. Bu tezde, Artımlı Kısmi Yol Kısıtları adını verdiğimiz ve standard konkolik testçi üzerine geliştirdiğimiz özgün bir kısıt çözüm stratejisi önermekteyiz. Önerdiğimiz değişiklik bazı yol koşullarını gözardı ederek kısıt çözücüye çok sayıda ama küçük sorgular göndermektedir. IPPC algoritmasını iyi bilinen bir konkolik test sistemi olan CREST üzerinde geliştirdik. IPPC üzerine olan çalışmamızda kısıt çözücü üzerindeki yükü azaltırken aynı dallanma kapsamasına ulaşılabileceğini göstermekteyiz. İddialarımızı farklı stratejileri çeşitli C programları üzerinde test ederek desteklemekteyiz. Deneysel sonuçlar yaptığımız değişikliğin standard konkolik testçinin işleyiş süre performansını deneylerin yarısında artırdığımızı ve eğer test altındaki birim fazla imkansız yol içeriyorsa 5 kattan daha fazla hızlanma sağladığını göstermektedir. Yaptığımız çalışma otomatik birim test yaratımı için büyük kısıtların çözülmesine olan ihtiyacı ortadan kaldırdığımızı göstermektedir.

Özet (Çeviri)

Software testing is an essential part of the software development process. Concolic testing is an automated unit test generation technique which is a result of decades of study on making the automated testing scalable. However, bottlenecks such as constraint solving still prevents concolic testers to be used in large projects. The constraint solving bottleneck occurs due to the large number of branches on the execution paths of a Unit Under Test (UUT). In this thesis, we design a novel constraint solving strategy called Incremental Partial Path Constraints (IPPC) on top of a standard concolic tester. Our strategy makes more but smaller queries to the constraint solver, i.e. ignores some path conditions. We implement IPPC on top of a known concolic testing framework, CREST. We show that it is possible to reach the same branch coverage as the standard concolic tester while decreasing the burden on the constraint solver. We support our claims by testing several C programs using different strategies. Experimental results show that our modification improves runtime performance of the standard concolic tester in half of the experiments and results in more than 5x speedup when the UUT has many infeasible paths. Ultimately, IPPC eliminates the need for solving large constraints while automatically generating unit tests.

Benzer Tezler

  1. Heuristics for a continuous multi-facility location problem with demand regions

    Talep alanları düşünülerek sürekli düzlemde çok tesisli yer seçimi problemi için sezgisel yöntemler

    DERYA DİNLER

    Yüksek Lisans

    İngilizce

    İngilizce

    2013

    Endüstri ve Endüstri MühendisliğiOrta Doğu Teknik Üniversitesi

    Yöneylem Araştırması Ana Bilim Dalı

    YRD. DOÇ. DR. MUSTAFA KEMAL TURAL

    YRD. DOÇ. DR. CEM İYİGÜN

  2. Heuristics for unique input output sequence computation

    Benzersiz girdi çıktı dizilerinin bulunması için bazı sezgisel yöntemler

    HAKAN KAYNAR

    Yüksek Lisans

    İngilizce

    İngilizce

    2008

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSabancı Üniversitesi

    Bilgisayar Bilimleri ve Mühendisliği Ana Bilim Dalı

    DR. HÜSNÜ YENİGÜN

  3. Heuristics for the probabilistic capacitated multi-facility weber problem

    Rassal bütünleşik yer seçimi ?taşıma problemlerini çözmek için buluşsal yöntemler

    ENGİN DURMAZ

    Yüksek Lisans

    İngilizce

    İngilizce

    2007

    Endüstri ve Endüstri MühendisliğiBoğaziçi Üniversitesi

    Endüstri Mühendisliği Ana Bilim Dalı

    PROF.DR. KUBAN ALTINEL

  4. Multilevel heuristics for task assignment in distributed systems

    Dağıtık sistemlerde çok düzeyli görev atama algoritmaları

    MURAT İKİNCİ

    Yüksek Lisans

    İngilizce

    İngilizce

    1998

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİhsan Doğramacı Bilkent Üniversitesi

    Bilgisayar Bilimleri ve Mühendisliği Ana Bilim Dalı

    DOÇ. DR. CEVDET AYKANAT

  5. Playability heuristics for mobile games using touchscreen displays

    Dokunmatik ekranlı cihazlarda oynanan mobil oyunlar için oynanabilirlik heuristikleri

    GÜLŞAH BAŞARANER

    Yüksek Lisans

    İngilizce

    İngilizce

    2013

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik Üniversitesi

    Bilişim Sistemleri Ana Bilim Dalı

    PROF. DR. VEYSİ İŞLER

    YRD. DOÇ. DR. HÜSEYİN HACIHABİBOĞLU