Hata raportörünün itibarının hesaplanması ve itibarın hata çözüm süresine etkisi

Yükleniyor...
Küçük Resim

Tarih

Bölüm / Program

Bilgisayar Mühendisliği Bilim Dalı

Dergi Başlığı

Dergi ISSN

Cilt Başlığı

Yayıncı

Lisansüstü Eğitim Enstitüsü

Özet

Yazılım hataları, yazılım geliştirme süreçlerinin işletilmesi sırasında yapılan hataların, teslim edilen yazılım ürününde sebep olduğu beklenmeyen davranışlardır. Yazılım geliştirme sürecinin herhangi bir adımında meydana gelebilecek hatalar, geliştirme sürecinde tespit edilip düzeltilebilir veya ürünün teslimi sonrasında da tespit edilebilir. Yazılım hataları tespit edildikten sonra, hata raporu ismi verilen dokümanlar aracılığıyla hata takip sistemlerine işlenir ve yazılım geliştirme ekibinin analizine sunulur. Yazılım geliştirme ekibi raporu analiz eder, hatanın geçerliliğini kontrol ettikten sonra hataya sebep olan kısmı tespit edip düzeltmek için üzerinde çalışır. Hatanın düzeltilmesi sonrasında, hata raporu kapatılır ve gerekli testlerin ardından ürün güncellenir. Yazılım hatalarının bu yaşam döngüleri, hata raporlarına işlenir ve hata raporu takip sistemleri aracılığıyla incelenebilir. Bir yaşam döngüsüne sahip olan hatalar, bu döngüleri boyunca yazılım geliştirme ekibinin eforunu ve zamanını gerektirirler. Bu durum yazılımın geliştirme plan takvimini etkileyebileceği için, hata raporlarının analizi ile geliştirici ekibin durumu, projenin durumu ve takvimi hakkında yöneticilere faydalı bilgiler sağlanabilir. Hata raporları, hatayı tanımlamak için nitelik bilgilerinin sağlanmasını gerektirir. Bu nitelik bilgileri hatanın yaşam döngüsü boyunca güncellenerek, hatanın durumu rapor üzerinden takip edilebilir. Hata raporları ilk oluşturulduklarında hata raportörü tarafından sağlanan hatanın bir özetini ve hata hakkında detay bilgileri içerirler. Hata raporunun analizi, hatanın tespiti ve çözümü sırasında geliştirici ekip düşüncelerini ve tartışmalarını, hata raporuna yorumlar ekleyerek işlerler. Hatanın özeti, açıklaması ve hata üzerine geliştirici ekibin yorumları, hata raporları içerisindeki metin verisi olarak değerlendirilir. Hata raporu takip sistemleri üzerinden yazılım geliştirme ekiplerine ve yöneticilere faydalı analizler sunmak için literatürde birçok çalışma bulunmaktadır. Hata raporlarının nitelik özelliklerini kullanan, hata raporları içerisindeki metin verisi üzerine doğal dil işleme teknikleri uygulayan literatür çalışmaları mevcuttur. Bu çalışmalar hata raporlarını analiz ederek, geliştirme ekibinin yazılım hataları üzerine eforunu en aza indirmeyi amaçlayan çözümler sunmaktadır. Çalışmalardan bazıları doğal dil işleme çözümleriyle, aynı hatayı tekrar açıklayan raporları tespit ederek ekibin analiz eforunu en aza indirmeyi sağlayan çözümler sunmaktadır. Literatür çalışmalarında bir hatanın yaşam döngüsünün süresinin tahmini yapılarak, proje yönetimine ve geliştirici ekibe projenin planlanmasında yardımcı olacak çözümler sunulmaktadır. Bir hata raporunun açılmasıyla, hatanın yaşam döngüsü başlar ve hata raporunun kapanmasıyla hatanın yaşam döngüsü tamamlanır. Raporun kapanması ve açılması arasında geçen süre hatanın çözüm süresi olarak değerlendirilir. Hata raporlarının nitelik kısımları ve metin verileri kullanılarak hatanın çözüm süresinin tahminini yapan literatür çalışmaları bulunmaktadır. Bu çalışmalarda, çözüm süresi tahmini bir sınıflandırma problemi olarak değerlendirilmekte ve eşik değer olarak belirlenen gün sayısından kısa süren hata raporları hızlı, uzun süren hata raporları ise yavaş olarak sınıflandırılmaktadır. Sınıflandırmada kullanılan kategori sayısı çalışmalarda farklılık gösterebilmektedir, fakat yapılan çalışmalarda en iyi performansın iki kategori ile alındığı bahsedilmektedir. Literatürde kNN ve SVM gibi temel makine öğrenmesi sınıflandırma modelleri kullanılarak hata raporlarının çözüm süreleri tahmin edilmektedir. Güncel çalışmalarda, derin öğrenme metodları da bu problemin çözümü için önerilmektedir. Fakat bu çalışmalarda önerilen karmaşık derin öğrenme modellerinin daha temel makine öğrenme modellerine göre performans sonuçlarında ciddi iyileşme olmamıştır. Fakat derin öğrenme modellerinden LSTM modeli sayesinde, hata raporlarının zaman içerisindeki değişim adımları değerlendirilebilmektedir. Temel makine öğrenme modellerinde hata raporlarının yalnızca son hali modelde girdi olarak kullanılabilmektedir. Literatür çalışmalarında hata raporu süresinin tahmininde en etkili rapor niteliğinin hata raportörü olduğu belirtilmektedir. Hata raportörü bir kullanıcı profili bilgisidir, bu bilginin anonimleştirilmesi ve hesaplamalara katılabilmesi için literatür çalışmaları bir itibar skoru hesaplama yöntemiyle bu niteliği modellerine girdi olarak sağlamaktadır. Bu tez çalışmasında hatanın çözüm süresi tahminini yapan bir model ve yeni bir itibar skoru hesaplama yöntemi önerilmektedir ve hata raportörünün itibarının hesaplanma yönteminin tahmin başarısına etkisi incelenmektedir. Bu kapsamda literatürde yer alan itibar hesaplama yöntemleri ile çalışma kapsamında önerilen yeni itibar hesaplama yöntemi karşılaştırmalı olarak sınıflandırma modeline girdi olarak sağlanmıştır ve itibar hesabı yönteminin etkisi analiz edilmiştir. Çalışma kapsamında, hata çözüm süresi tahmini problemi iki kategorili bir sınıflandırma problemi olarak değerlendirilmiştir. SGD ve XGB olarak iki farklı sınıflandırma modeli çalışma kapsamında analiz edilmiş ve sonuçları sunulmuştur. Hata raporlarının metin verisi Doc2Vec modeli kullanılarak vektörel gösterime çevrilmiştir ve sınıflandırma modellerine girdi olarak sağlanmıştır. Bu kapsamda yalnızca metin verisi ile sınıflandırma yapan temel bir model kurulmuştur. İtibar hesaplama yöntemleri için bu temel model üzerine ayrıca modeller kurulmuştur ve hesaplama yönteminin etkisi bu modellerin performansları analiz edilerek incelenmiştir. Tez çalışması kapsamında Google'ın Chromium ve WebRTC açık kaynak projelerinin hata raporları toplanmış ve önişleme adımlarından sonra veri kümesi haline getirilmiştir. Toplamda 408,504 hata raporu toplanmış ve 130,208 hata raportörünün itibar skoru hesaplaması yapılmıştır. Önişleme adımlarından sonra efektif veri kümesinde 264,692 hata raporu modele girdi olarak kullanılmıştır. Veri kümesinin hata çözüm süresi dağılımı incelenmiş ve HIZLI ve YAVAŞ kategorilerinin eşik değeri 8 gün olarak belirlenmiştir. Bu durumda 140,388 hata raporu HIZLI kategorisinde, 124,306 hata raporu YAVAŞ kategorisinde yer almıştır. Çalışma kapsamında, sınıflandırma modeli ve raportör itibarı hesaplama yöntemi parametreleri değiştirilerek toplamda 16 model eğitilmiş ve sonuçları analiz edilmiştir. Veri kümesi, K katlamalı çapraz doğrulama yöntemiyle model eğitimi ve testinde kullanılmıştır. Model performansları; doğruluk, duyarlılık ve F-skoru metrikleri kullanılarak analiz edilmiştir. SGD sınıflandırma yönteminin kullanıldığı modellerde sınıflandırma başarısının çok düşük olduğu tespit edilmiştir, HIZLI kategorisi için yapılan tahminler başarısızdır. XGB sınıflandırma yönteminde ise iki kategorili sınıflandırmada daha başarılı sonuçlar elde edilmiştir. Sınıflandırma performansında Chroimum projesi için, HIZLI ve YAVAŞ kategorileri için sırasıyla 55% ve 72% F-skorları elde edilmiştir ve WebRTC projesi için 55% ve 60% F-skorları elde edilmiştir. En etkili nitelik olan hata raportörünün itibarının, hesaplanma yönteminin farklarının sınıflandırma performansına etkisi düşük seviyede kalmıştır. Fakat çalışma sonucunda, literatür çalışmalarında önerildiği gibi raportör itibarı sınıflandırmada en etkili nitelik olarak belirlenmiştir. Yazılım projesinin yapısı, geliştirme ekibinin yapısı ve projenin hata raporlama yöntemlerinin, hata çözüm süresinin tahmini modellerinin performansını etkilediği farkedilmiştir. Bu durum, modellerin farklı yapıda bir projenin veri kümesinde uygulanması durumunda farklı performans sonuçlarına ulaşılabileceğini göstermektedir.

Tanım

Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Lisansüstü Eğitim Enstitüsü, 2022

Dergi veya Seri

ISSN

ISBN

Haklar

Anahtar Kelimeler

Yazılım, Veri setleri, Hata analizi, Hata

Alıntı

Onay

Gözden geçir

Tamamlayıcı Bilgiler

Referans Gösteren

4

Views

9

Downloads