Geri Dön

Hata içeren yazılım modüllerinin tespitinde kullanılan makine öğrenme algoritmalarının çok kriterli karar verme yöntemleriyle sıralanması

Ranking of machine learning algorithms used to detect bug-containing software modules with multi-criteria decision making methods

  1. Tez No: 856605
  2. Yazar: MERVE ALPER IŞIK
  3. Danışmanlar: DR. ÖĞR. ÜYESİ ELMAS BURCU MAMAK EKİNCİ
  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: 2024
  8. Dil: Türkçe
  9. Üniversite: Başkent Ü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ı: 75

Özet

Yazılım projelerindeki en önemli sorunlardan biri hata içeren yazılım modülleri olmaktadır. Bu modüller için en önemli unsurlar, programda hatalara neden olabilen, performansı azaltabilen ve programın çökmesine yol açabilen kod parçaları olmaktadır. Bu modüllerin, yazılım döngüsünün başlarında fark edilmesi ve düzeltilmesi, yazılım projelerinin başarısı için çok büyük önem taşımaktadır. Hata içeren yazılım modüllerinin yazılım döngüsünün erken safhalarında fark edilmesi için istatistiksel analiz yöntemleri ve makine öğrenme algoritmaları gibi farklı yöntemler bulunmaktadır. Yapılan çalışmalara göre bu yöntemleri kullanarak, hata içeren yazılım modüllerinin erken tespit edilmesi ve düzeltilmesinin yazılım projelerinin başarı şansını artırdığını, daha az maliyetli olduğunu ve yazılım döngüsünün daha verimli yönetilebileceğini ortaya koymaktadır. Bu yöntemlerin kullanılması ve yazılım döngüsünün en başından itibaren uygulanması, yazılım projelerinin başarısını arttırabilmekte ve maliyetlerini düşürebilmektedir. Bu çalışmada hata içeren yazılım modüllerinin tespitinde kullanılan makine öğrenme algoritmalarının seçimi problemi ele alınmıştır. Bu kapsamda, C++ programlama dilinde kodlanan NASA'nın kamusal alan (public domain) olan KC1 hata veri kümesi kullanılarak Naive Bayes, Bagging, Stacking, IBk (Knn), Logistic Regression, Random Tree, Random Forest, SMO ve Neural Networks makine öğrenme algoritmalarının hata yönünden performansları WEKA uygulaması ile incelenmiştir. Analiz sonucunda, Kappa İstatistikleri (Kappa Statistics), Doğru Sınıflandırılmış Örnekler (Correctly Classified Instances), Ortalama Mutlak Hata (Mean Absolute Error), Hata Kareler Ortalamasının Karekökü (Root Mean Squared Error), Bağıl Mutlak Hata (Relative Absolute Error) ve Kök Bağıl Kare Hatası (Root Relative Squared Error) değerleri elde edilmiştir. Bu metrikler, belirlenen makine öğrenme algoritmalarının sıralanması probleminde kullanılan ÇKKV yöntemleri için kriterler olarak belirlenmiştir. Çalışmada ÇKKV yöntemlerinden CRITIC, ARAS ve TOPSİS yöntemleri kullanılmıştır. Yapılan sıralama sonucunda hata metriklerini minimize eden en iyi makine öğrenme algoritması k-En Yakın Komşu (kNN) olarak bulunmuştur.

Özet (Çeviri)

One of the most important problems in software projects is software modules containing errors. The most important elements for these modules are pieces of code that can cause errors in the program, reduces the performance of the program and cause the program to crash. Recognizing and fixing these modules early in the software cycle is of great importance for the success of software projects. There are different methods such as statistical analysis methods and machine learning algorithms to detect software modules containing errors in the early stages of the software cycle. Studies show that early detection and correction of software modules containing errors by using these methods increases the chance of success of software projects, software can be managed more efficiently and software projects can be less costly. Using these methods and applying them from the very beginning of the software cycle can increase the success of software projects and reduce their costs. In this study, the problem of selecting machine learning algorithms used in detecting software modules containing errors is discussed. In this context, Naive Bayes, Bagging, Stacking, IBk (Knn), Logistic Regression, Random Tree, Random Forest, SMO and Neural Networks machine learning algorithms were used by using NASA's public domain KC1 error dataset, coded in C++ programming language. Their performance in terms of errors was examined with the WEKA application. As a result of the analysis, Kappa Statistics, Correctly Classified Instances, Mean Absolute Error, Root Mean Squared Error, Relative Absolute Error and Root Relative Error. Root Relative Squared Error values were obtained. These metrics were determined as criteria for MCDM methods used in the problem of ranking specified machine learning algorithms. CRITIC, ARAS and TOPSIS methods, which are among the MCDM methods, were used in the study. As a result of the sorting, the best machine learning algorithm that minimizes error metrics was found to be k-Nearest Neighbor (kNN).

Benzer Tezler

  1. Image analysis based symbol recognition in colored maps

    Renkli haritalarda görüntü analizi tabanlı sembol tanıma

    FATMANUR TURHAN

    Yüksek Lisans

    İngilizce

    İngilizce

    2024

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. BEHÇET UĞUR TÖREYİN

  2. 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

  3. Profiling developers to predict vulnerable code changes

    Güvenlik açığı kod değişikliklerini öngörmek için geliştiricilerin profilini oluşturma

    TUĞÇE COŞKUN

    Yüksek Lisans

    İngilizce

    İngilizce

    2023

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. AYŞE TOSUN KÜHN

  4. Antenna design for breast cancer detection and machine learning approach for birth weight prediction

    Meme kanseri tespiti için anten tasarımı ve doğum ağırlığı tahmini için makine öğrenmesi yaklaşımı

    HALUK KIRKGÖZ

    Yüksek Lisans

    İngilizce

    İngilizce

    2024

    Elektrik ve Elektronik Mühendisliğiİstanbul Teknik Üniversitesi

    Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ ONUR KURT

  5. Dizel motorların modellenmesi,modele dayalı hava yolu ve emisyon kontrolörü geliştirilmesi / uygulanması

    Modeling of diesel engines, development and application of model based airpath and emission controllers

    BÜLENT ÜNVER

    Doktora

    Türkçe

    Türkçe

    2013

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

    Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı

    PROF. DR. METİN GÖKAŞAN

    PROF. DR. SETA BOGOSYAN