Geri Dön

Yazılım kusur kestirimi eklentisinin esnek hesaplama yöntemleri ile tasarımı ve geliştirimi: kapsamlı metrik değerlendirilmesi

Design and implementation of software fault prediction plugin by using soft computing methods: comprehensive metric assessment

  1. Tez No: 430939
  2. Yazar: EZGİ ERTÜRK GÜLER
  3. Danışmanlar: DOÇ. DR. EBRU SEZER
  4. Tez Türü: Doktora
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2016
  8. Dil: Türkçe
  9. Üniversite: Hacettepe Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. Sayfa Sayısı: 197

Özet

Yazılım kusur kestirimi (SFP), yazılım modüllerinin belli özelliklerine göre ilgili modülün kusur riski taşıyıp taşımadığının belirlenmesi işlemidir. Yazılım modüllerinin kusur eğilimli olup olmamasının belirlenmesi, yazılım projeleri için önemlidir çünkü bu sayede detaylı bir şekilde test edilmesi, yeniden yazılması veya düzenlenmesi gereken modüller önceden tespit edilebilir. Bu tez çalışmasının temel hedefi, SFP görevinin yazılım geliştirme yaşam döngüsü içinde pratik olarak yer alabilmesini sağlamaktır. Bu hedefe ulaşabilmek için ilk olarak, SFP problemi için yeni bir çözüm yöntemi olarak Bulanık Çıkarsama Sistemleri (FIS) önerilmiştir. FIS yöntemi, SFP için ilk defa bu tez kapsamında kullanılmıştır. FIS yöntemi; problemleri, bulanık mantık teorisini temel alarak modelleyen kural tabanlı bir yaklaşımdır. Modelleme yaparken uzman görüşünden yararlanması ve geçmiş etiketli veriye ihtiyaç duymaması sayesinde herhangi bir araca kolayca dönüştürülebilir. FIS yönteminin SFP alanında geçerliliğinin ispatlanması amacıyla farklı metrik kümeleriyle farklı veri kümeleri üzerinde çeşitli deneyler gerçekleştirilmiştir. Bu deneylerin sonucunda FIS yönteminin SFP problemi için güvenilir bir çözüm yöntemi olduğu kanıtlanmıştır. FIS yönteminin yanında, SFP problemine yeni bir çözüm olarak Uyarlamalı Sinirsel Bulanık Çıkarsama Sistemi (ANFIS) kullanımı önerilmiştir. ANFIS yöntemi, Yapay Sinir Ağları (ANN) ve FIS yöntemlerinin avantajlarını bir araya getiren hibrit bir yaklaşımdır. ANFIS yönteminin SFP problemine uygun olup olmadığının anlaşılabilmesi amacıyla karşılaştırmalı deneyler yapılmıştır. Bu deneylerde ANFIS yönteminin ürettiği performanslar, ANN ve SVM yöntemlerinin aynı koşullar altında ürettiği performanslarla karşılaştırılmıştır. Deney sonuçlarına göre, en iyi performansı ANN ve en kötü performansı SVM göstermiştir. ANFIS ise SVM'den çok daha iyi sonuçlar vermiştir ve ANN ile yarışabilecek düzeydedir. Yani yapılan bu çalışmayla ANFIS yönteminin SFP problemi için kullanılabilecek uygun bir yöntem olduğu ispatlanmıştır. SFP problemi için yeni çözüm önerilerinin sunulmasının ardından SFP görevinin çevik yaklaşımlarla geliştirilen yazılım projelerinin yazılım geliştirme aşamasına dâhil olabilmesi için yinelemeli bir SFP metodolojisi önerilmiştir. Bu metodolojiye göre; etiketli veri mevcut değilken SFP için FIS gibi kural tabanlı yaklaşımlar kullanılır, etiketli verinin birikmesinin ardından yazılımın her bir versiyonu için geçmiş versiyonlarla eğitilen veri güdümlü yaklaşımlar SFP görevini yerine getirir. Önerilen yinelemeli metodoloji için tercih edilen veri güdümlü yaklaşımlar ANN ve ANFIS yöntemleridir. Bu yinelemeli SFP metodolojisi, PROMISE veri deposundan seçilen çeşitli yazılım versiyonlarına ait veri kümeleri üzerinde yapılan çeşitli deneylerle test edilmiştir. Deney sonuçlarına göre, yinelemeli SFP metodolojisi başarılı bir yaklaşımdır. Yani SFP görevi, bu yaklaşıma uygun olarak yerine getirilirse, kod geliştirme aşamasına paralel bir şekilde çalışabilir ve proje ekibine geliştirmenin her anında yardımcı olabilir. Önerilen metodolojinin pratik olarak kullanılabilir olduğunun ispat edilmesi amacıyla bu metodolojinin bir eklenti olarak gerçekleştirimi yapılmış ve Eclipse geliştirme ortamına entegre edilmiştir.

Özet (Çeviri)

Software Fault Prediction (SFP) means determination of the faulty modules in a software project by considering some software features. The detection of fault-proneness of software modules is quite important because the modules which require testing and refactoring activities can be determined earlier. The major objective of this study is to provide SFP implementation methodology to make it more beneficial in software development lifecycle. To achieve this, Fuzzy Inference Systems (FIS), a novel solution approach for SFP problem, is proposed as a first step and FIS approach is applied on SFP for the first time in here. Since FIS method is a rule-based approach and it does not require previously labeled data, it can be easily transformed to a tool. In order to prove validation of FIS on SFP, some experiments are performed on different metric and data sets. According to the achieved results, it has been proved that using of FIS is a reliable solution for SFP problem. Later, another novel solution method for SFP problem is proposed: Adaptive Neuro Fuzzy Inference System (ANFIS). Again, the first application of ANFIS for SFP problem is presented in this thesis. ANFIS method combines the advantages of Artificial Neural Networks (ANN) and FIS methods. Some comparative experiments are also performed to discuss the performance of ANFIS. According to the experimental results, while ANN has the best performance and SVM has the worst one; ANFIS is much more successful than SVM and it is capable of competing with ANN. After new solution suggestions for SFP problem are presented, an iterative SFP methodology is proposed in order to integrate SFP task into software development phase of software projects which are developed by using agile approaches. According to the methodology, rule-based approaches like FIS are used for SFP when no labeled data are available; after labeled data are accumulated, data-driven approaches which are trained with previous versions are preferred to detect faults of the versions being developed. The preferred data-driven approaches for the proposed iterative methodology are ANN and ANFIS methods. The methodology is tested on selected datasets from PROMISE repository. Obtained results show that the iterative SFP methodology is a successful approach. In other words, if SFP task is performed by considering this approach, it can serve in parallel with development phase and help project team during development phase. In order to prove that the proposed methodology can be used practically, the methodology is implemented as a plug-in and integrated into Eclipse development environment.

Benzer Tezler

  1. Yazılım kusur kestirimi probleminde yapay bağışıklık sistemlerinin uygulanması

    Application of artificial immune systems in software fault prediction problem

    ÇAĞATAY ÇATAL

    Doktora

    Türkçe

    Türkçe

    2008

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolYıldız Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. BANU DİRİ

  2. Yazılım hata kestirimi için hibrit bir model

    A hybrid model for software defect prediction

    AYTUNÇ PAKSOY

    Yüksek Lisans

    Türkçe

    Türkçe

    2011

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolGebze Yüksek Teknoloji Enstitüsü

    Bilgisayar Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. MEHMET GÖKTÜRK

  3. A learning-based method for detecting defective classes in object-oriented systems

    Nesneye dayalı yazılımlarda hatalı sınıfların öğrenme temelli yöntemle belirlenmesi

    ÇAĞIL BİRAY

    Yüksek Lisans

    İngilizce

    İngilizce

    2015

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. FEZA BUZLUCA

  4. Novel software defect prediction method based on PCA and optimized LSTM

    PCA ve optimize edilmiş LSTM'ye dayalı yeni yazılım kusur tahmin yöntemi

    ANMAR SADEQ JASIM AL-OBAIDI

    Yüksek Lisans

    İngilizce

    İngilizce

    2021

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolAtılım Üniversitesi

    Yazılım Mühendisliği Ana Bilim Dalı

    PROF. DR. ALOK MISHRA

    PROF. DR. ALİ YAZICI

  5. Software defect prediction performance monitoring of deep and machine learning models on NASA promise datasets

    NASA promise veri setlerinde derin ve makine öğrenme modellerinin yazılım hata tahmini performansının izlenmesi

    ABDULLAH AKRAM SHAKIR AL BAYATI

    Yüksek Lisans

    İngilizce

    İngilizce

    2023

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolAltınbaş Üniversitesi

    Elektrik ve Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. SEFER KURNAZ