Geri Dön

Generating runtime verification specifications based on static code analysis alerts

Statik kod analiz uyarılarından koşum zamanı doğrulama belirtimlerinin oluşturulması

  1. Tez No: 495112
  2. Yazar: YUNUS KILIÇ
  3. Danışmanlar: DOÇ. HASAN SÖZER
  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: 2017
  8. Dil: İngilizce
  9. Üniversite: Özyeğin Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 55

Özet

Yazılım hatalarının bulunması amacıyla kullanılan birçok yöntem bulunmaktadır. Bu yöntemlerden biri olan statik kod analizi koddaki hataların, kodun çalıştırılmadan ortaya çıkarılmasını sağlamaktadır. Bunu tamamlayıcı nitelikte olan çalışma zamanı doğrulama ise dinamik sistem davranışlarını yazılmış olan kurallara göre kontrol etmek için kullanılmaktadır. Bu kural listesi genellikle sistem gereksinimleri ve kısıtlarına göre manuel olarak oluşturulmaktadır. Bu tezde, statik kod analizi araçlarının oluşturduğu uyarılardan çalışma zamanı doğrulama kurallarını otomatik olarak oluş- turan yeni bir yöntem ve araç geliştirilmiştir. Alana özgü bir dil geliştirilerek, uyarı tiplerine özgü kurallar tanımlanması sağlanmıştır. Oluşturulan bu kuralların ihlal edilip edilmediğine göre hatanın gerçekleşip gerçekleşmediğine karar verilmektedir. Çalışma zamanı doğrulama kuralları her bir uyarı için daha önceden tanımlanmış kurallara göre otomatik oluşturulmaktadır. Daha sonra ise, oluşan bu kurallara ilişkin çalışma izleyiciler otomatik sentezlenerek, sisteme entegre edilmektedir. Bu izleyiciler yazılımla birlikte çalışarak tespit edilen hataları ve yanlış üretilmiş uyarıları raporlamaktadır. Bir kere oluşturulan kurallar farklı projelerde kullanılabilmektedir. Bu durumu gösterebilmek için iki farklı açık kaynak kod üzerinde vaka çalışmaları gerçekleştirilmiştir. Aracımız şu anda Java programlama dili için uyarı üreten iki farklı statik kod analiz aracını desteklemektedir. Ayrıca bu araç, yeni statik kod araçlarını destekleyebilecek şekilde tasarlanmıştır.

Özet (Çeviri)

There are various approaches in order to find bugs in a software system. One of these approaches is static code analysis, which tries to achieve this goal by analyzing code without executing it. Another complementary approach is runtime verification, which is employed to verify dynamic system behavior with respect to a set of specifications at runtime. These specifications are often created manually based on system requirements and constraints. In this thesis, we propose a novel methodology and tool support for automatically generating runtime verification specifications based on alerts that are reported by static code analysis tools. We introduce a domain specific language for defining a set of rules to be checked for an alert type. Violations of the rules indicate either the absence or existence of an actual bug designated by the instances of that alert type. Formal verification specifications are automatically generated for each reported alert instance based on the defined rules. Then, runtime monitors are automatically synthesized and integrated into the system. These monitors report detected errors or false positive alerts during software execution. The set of rules can be reused across different projects. We performed case studies with two open source software systems to illustrate this. Our tool currently supports the use of two different static code analysis tools for generating runtime monitors in Java language. It is designed to be extendible for supporting other tools as well.

Benzer Tezler

  1. Verifying the interface compliance of federates using pre- and postconditions of RTI services

    Çalışma zamanı altyapısı (RTI) servislerinin ön ve son koşullarını kullanarak federe arayüz uyumluluğunun geçerlenmesi

    VİJDAN KIZILAY

    Yüksek Lisans

    İngilizce

    İngilizce

    2010

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilgisayar Bilimleri Ana Bilim Dalı

    YRD. DOÇ. DR. FEZA BUZLUCA

    DR. OKAN TOPÇU

    YRD. DOÇ. DR. YUNUS EMRE SELÇUK

  2. Runtime verification of internet of things using complex-event processing (RECEP)

    Başlık çevirisi yok

    KORAY İNÇKİ

    Doktora

    İngilizce

    İngilizce

    2018

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolÖzyeğin Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. İSMAİL ARI

  3. RSA algoritmasını kullanan şifreleme/deşifreleme yazılımının tasarımı

    Data encyption/decryption methods and software design of RSA algorithm

    METİN ERHAN

  4. Computational analysis of external store carriage in transonic speed regime

    Harici yük taşımanın transonik sürat bölgesinde hesaplamalı analizi

    İ. CENKER ASLAN

    Yüksek Lisans

    İngilizce

    İngilizce

    2003

    Havacılık Mühendisliğiİstanbul Teknik Üniversitesi

    Uçak Mühendisliği Ana Bilim Dalı

    DOÇ. DR. AYDIN MISIRLIOĞLU

    PROF. DR. OKTAY BAYSAL

  5. Eş zamanlı konumlandırma ve haritalama tekniklerinin hız performansının geliştirilmesi

    Improving runtime efficiency of simultaneous localization and mapping techniques

    ZİYA UYGAR YENGİN

    Yüksek Lisans

    Türkçe

    Türkçe

    2017

    Mekatronik Mühendisliğiİstanbul Teknik Üniversitesi

    Mekatronik Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. VOLKAN SEZER