Statik kod analizi uyarılarına dayalı olarak çalışma zamanı doğrulama spesifikasyonları oluşturma
| İsim | Statik kod analizi uyarılarına dayalı olarak çalışma zamanı doğrulama spesifikasyonları oluşturma |
|---|---|
| Yazar | Kılıç, Yunus |
| Basım Tarihi: | 2017-12 |
| Konu | Bilgisayar Mühendisliği ve Bilgisayar Bilimi ve Kontrolü |
| Tür | Belge |
| Dil | İngilizce |
| Dijital | Evet |
| Yazma | Hayır |
| Kütüphane: | Özyeğin Üniversitesi |
| Kayıt Numarası | 1d33144f-f30d-48df-b087-bb18e9bc22fe |
| Lokasyon | Bilgisayar Bilimleri Bölümü |
| Tarih | 2017-12 |
| Örnek Metin | Bir yazılım sistemindeki hataları bulmak için çeşitli yaklaşımlar vardır. Bu yaklaşımlardan biri de kodu çalıştırmadan analiz ederek bu amaca ulaşmaya çalışan statik kod analizidir. Bir başka tamamlayıcı yaklaşım, çalışma zamanındaki bir dizi spesifikasyona göre dinamik sistem davranışını doğrulamak için kullanılan çalışma zamanı doğrulamasıdır. Bu spesifikasyonlar genellikle sistem gereksinimlerine ve kısıtlamalarına göre manuel olarak oluşturulur. Bu tezde, statik kod analiz araçları tarafından bildirilen uyarılara dayalı olarak çalışma zamanı doğrulama spesifikasyonlarının otomatik olarak üretilmesi için yeni bir metodoloji ve araç desteği öneriyoruz. Bir uyarı türü için kontrol edilecek bir dizi kuralı tanımlamak için alana özel bir dil sunuyoruz. Kuralların ihlalleri, söz konusu uyarı türünün örnekleri tarafından belirlenen gerçek bir hatanın yokluğunu veya varlığını gösterir. Tanımlanan kurallara göre bildirilen her uyarı örneği için resmi doğrulama özellikleri otomatik olarak oluşturulur. Daha sonra çalışma zamanı monitörleri otomatik olarak sentezlenir ve sisteme entegre edilir. Bu monitörler, yazılımın yürütülmesi sırasında tespit edilen hataları veya hatalı pozitif uyarıları bildirir. Kurallar seti farklı projelerde yeniden kullanılabilir. Bunu göstermek için iki açık kaynaklı yazılım sistemiyle örnek olay çalışmaları gerçekleştirdik. Aracımız şu anda Java dilinde çalışma zamanı monitörleri oluşturmak için iki farklı statik kod analiz aracının kullanımını desteklemektedir. Diğer araçları da destekleyecek şekilde genişletilebilir şekilde tasarlanmıştır. Yazılım hatalarının amacına uygun olarak kullanılan birçok yöntem bulunmaktadır. Bu parçacıklardan biri olan statik kod analizi koddaki hataların, kodun çalıştırılmasından ortaya çıkarılmasını sağlar. Bunu sağlayan düzenli düzeydeki çalışma zamanının sürekliliği ise dinamik sistem verilerinin kurallara göre kontrol edilmesi için kullanılmaktadır. Bu kural listesi genellikle sistem özelliklerine ve kısıtlamalarına göre manuel olarak oluşturulmaktadır. Bu tezde, statik kod analizi araçlarının oluşturulan uyarılardan çalışma zaman süresini uzatmak otomatik olarak oluşan yeni bir yöntem ve araçla sağlanır. Alana özgü bir dil geliştirilerek, uyarı tiplerine özgü özellikleri korunmuştur. Oluşturulan bu kuralların kırılmalarına göre hatanın gerçekleşmesine karar veriliyor. Çalışma zamanı kuralları kuralları onun bir uyarısı için daha önceden tanımlanmış kurallara göre otomatik olarak oluşturulmaktadır. Daha sonra ise oluşturulan bu kurallara ilişkin çalışma sistemi otomatik olarak sentezlenerek, sistem entegre edilmektedir. Bu sistemle yazılımla birlikte kalıcı tespit edilen hatalar ve yanlış üretilmiş uyarılar raporlanmaktadır. Bir kere kurallar kuralları farklı projelerde kullanılabilir. Bu durumu gösterebilmek için iki farklı açık kod kaynak üzerinde vaka çalışmaları gerçekleştirilmiştir. Aracımız şu anda Java programlama dili için tanıtım üreten iki farklı statik kod analiz aracını desteklemektedir. Ayrıca bu araç, yeni statik kod araçlarını destekleyebilecek şekilde tasarlanmıştır. |