Makine öğrenmesi yöntemleri ile yazılım hata miktarlarının tahmin edilmesi
Predicting software defect quantities with machine learning methods
- Tez No: 808595
- Danışmanlar: DR. ÖĞR. ÜYESİ ELİF ALTINTAŞ KAHRİMAN
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2023
- Dil: Türkçe
- Üniversite: Haliç Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- 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
- 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
2020
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Kültür ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. ÖZGÜR KORAY ŞAHİNGÖZ
- 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
2021
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Üniversitesi-CerrahpaşaBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. RÜYA ŞAMLI
- 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
2022
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ AYŞE TOSUN KÜHN
- 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
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolHacettepe ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. AYÇA KOLUKISA
- 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
2023
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolEskişehir Osmangazi ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ SİNEM BOZKURT KESER