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: Bilgisayar yazılım dilleri, Bilgisayar yazılımları, Nesneye dayalı yazılım, Yazılım kalitesi, Computer software languages, Computer softwares, Object oriented software, Software quality
  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ı: Belirtilmemiş.

Ö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. Matrix norm based-solution methods and machine learning: Stochastic games and their applications

    Matris norm tabanlı çözüm yöntemleri ve makine öğrenmesi: Stokastik oyunlar ve uygulamaları

    MURAT ÖZKAYA

    Doktora

    İngilizce

    İngilizce

    2024

    Matematikİstanbul Teknik Üniversitesi

    Matematik Mühendisliği Ana Bilim Dalı

    DOÇ. DR. BURHANEDDİN İZGİ

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

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

  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. İstanbul metro hatları için makine öğrenmesi ile yolcu sayılarının tahminlenmesi

    Prediction of passenger numbers with machine learning for istanbul metro lines

    MURAT EREN

    Yüksek Lisans

    Türkçe

    Türkçe

    2022

    Endüstri ve Endüstri MühendisliğiEskişehir Osmangazi Üniversitesi

    Endüstri Mühendisliği Ana Bilim Dalı

    PROF. DR. AYDIN SİPAHİOĞLU