Geri Dön

Makine öğrenmesi yöntemleri ile yazılım hata miktarlarının tahmin edilmesi

Predicting software defect quantities with machine learning methods

  1. Tez No: 808595
  2. Yazar: SELAHATTİN GÜRER
  3. Danışmanlar: DR. ÖĞR. ÜYESİ ELİF ALTINTAŞ KAHRİMAN
  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: 2023
  8. Dil: Türkçe
  9. Üniversite: Haliç Üniversitesi
  10. Enstitü: Lisansüstü Eğitim Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 94

Özet

Geçmişte yazılım test süreci, yazılım yaşam döngüsü içinde yer alan süreçlerin en ihmal edileni olsa da, günümüzde yaşanan tecrübeler sayesinde yazılımın kalitesini belirleyen en önemli ölçütü olarak görülmektedir. Yazılımlar, çeşitli sektörlerde karmaşık hale geldiğinden yazılımda çıkabilecek hataların tespiti ve bu hataların önlenmesi, çözümü zorlaşan süreç haline gelmiştir. Geleneksel yazılım test yaklaşımları, tüm potansiyel hataları ortaya çıkarmada genellikle yetersiz kalmakta olup bu durum hata ayıklama süreçlerinde harcanacak zaman ve kaynak maliyetinde artışlara yol açmaktadır. Yazılımın geliştirme sürecinin başlarında ya da yazılımı kullanıma almadan önce (test ortamına açmadan önce) yazılımın kalitesini arttırmak ve yazılım bakım yükünü en aza indirmek önemli hale gelmiştir. Son yıllarda makine öğrenimi teknikleri, yazılım hatalarının tahmin edilmesinde umut verici çözümler sunmaktadır. Bu tez çerçevesinde, yazılım hata miktarlarının tespiti için farklı veri setleri üzerinde ve farklı türlerde makine öğrenmesi algoritmaları ile değerlendirmeler yapılmıştır. Yazılım hatalarının tespiti ile ilgili detaylı literatür taraması gerçekleştirilmiştir. Literatürde bu konuda yapılan çalışmaların NASA açık veri setleri olan JM1, KC1, KC2, CM1, PC1 üzerinde en iyi performansları sergilediği için tez çalışmasında bu veri setleri kullanılmıştır. Yazılım hata miktarlarını tespit etmek için“Support Vector Machines(SVM)”,“Naive Bayes”,“LightGBM”,“XGboost”,“Gradient Boosting”,“Random Forest”makine öğrenimi yöntemlerine başvurulduğunda doğruluk oranlarının yüksek olduğu gözlemlenmiştir. Çalışma kapsamında, yazılım hatalarını tahmin ederek hataların ve hata miktarlarının önceden tespit edilmesi amaçlanmış olup yazılım hatalarının tespiti için makine öğrenimi yöntemlerinin kullanılmasına genel bir bakış sunulmuştur. Bu çalışmanın amacı, makine öğrenimi yöntemlerinin yazılım hatalarını tespit etmedeki etkinliğini araştırmak ve performanslarını geleneksel hata tespit teknikleriyle karşılaştırmaktır. Çalışmada, büyük bir yazılım kodu veri kümesi ve kod kalitesi, karmaşıklığı ve boyutuyla ilgili çeşitli ölçümler kullanılmıştır. Çalıştırılan modellerin doğruluk dağılımı ve hata miktarlarının hesaplanması sağlanmıştır.

Özet (Çeviri)

In the past, the software testing process was the most neglected of the processes in the software life cycle, but today it is seen as the most important criterion that determines the quality of the software. As software has become more complex in various sectors, the detection and prevention of software defects has become an increasingly difficult process. Traditional software testing approaches are often inadequate in uncovering all potential defects, leading to an increase in the cost of time and resources spent on debugging processes. In recent years, machine learning techniques have provided promising solutions for software defect prediction. In this thesis, different types of machine learning algorithms are evaluated on different datasets for software defect detection. A detailed literature review on software defect detection has been conducted. Since the studies on this subject in the literature have shown the best performances on NASA open datasets JM1, KC1, KC2, CM1, PC1, these datasets were used in this thesis. It was observed that the accuracy rates were high when“Support Vector Machines (SVM)”,“Naive Bayes”,“LightGBM”,“XGboost”,“Gradient Boosting”,“Random Forest”machine learning methods were used to detect software defects. Within the scope of the study, it is aimed to predict software defects and to detect defects and defect quantities in advance and an overview of the use of machine learning methods for software defect detection is presented. The aim of this study is to investigate the effectiveness of machine learning methods in detecting software defects and to compare their performance with traditional defect detection techniques. The study uses a large dataset of software code and various metrics related to code quality, complexity and size. The accuracy distribution and error quantities of our models are calculated.

Benzer Tezler

  1. Makine öğrenmesi yöntemleri ile yazılım hata tahmini

    Software defect prediction with machine learning methods

    MURAT ÇETİNER

    Yüksek Lisans

    Türkçe

    Türkçe

    2020

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Kültür Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. ÖZGÜR KORAY ŞAHİNGÖZ

  2. Makine öğrenmesi yöntemleri ile yazılım hata tahmini

    Software defect prediction with machine learning methods

    ZEYNEP BEHRİN GÜVEN AYDIN

    Doktora

    Türkçe

    Türkçe

    2021

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Üniversitesi-Cerrahpaşa

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. RÜYA ŞAMLI

  3. Software defect prediction with a personalization focus and challenges during deployment

    Kişiselleştirme odaklı yazılım hata tahmini ve entegrasyon zorlukları

    BEYZA EKEN

    Doktora

    İngilizce

    İngilizce

    2022

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ AYŞE TOSUN KÜHN

  4. Advancing software defect prediction through ensemble Xai methods: Insights and performance evaluation

    Entegre Xai yöntemleri ̇ile yazılım hata tahmininin geliştirilmesi: Analizler ve performans değerlendirmesi

    BAHAR GEZİCİ GEZİCİ

    Doktora

    İngilizce

    İngilizce

    2024

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolHacettepe Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. AYÇA KOLUKISA

  5. Makine öğrenmesi algoritmaları ile yazılım hata kestirimi

    Software defect prediction with machine learning algorithms

    ÖZGE ŞEN KAYA

    Yüksek Lisans

    Türkçe

    Türkçe

    2023

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolEskişehir Osmangazi Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ SİNEM BOZKURT KESER