Geri Dön

Makine öğrenmesi teknikleriyle yazılım uyum metriklerinin tahmini

Predicting software coheson metrics with machine learning techniques

  1. Tez No: 749762
  2. Yazar: ELİF NUR HANER KIRĞIL
  3. Danışmanlar: DR. ÖĞR. ÜYESİ TÜLİN ERÇELEBİ AYYILDIZ
  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: 2022
  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ı: 51

Özet

Günümüzde yazılıma olan ihtiyaç arttıkça, oluşturulan yazılımların kalitesini ölçmek de gerekli hale gelmiştir. Yazılım kalitesini ölçmek için literatürde çeşitli metrikler bulunmaktadır. Bu metriklerin bazıları sınıf bazında ölçüm yapmaktadır. Sınıflar nesne yönelimli programlamanın temel birimleridir. Sınıflarda bulunan metotların ve özniteliklerin birbiri ile uyumunu ölçen uyum metriği yazılım kalitesine doğrudan etki etmektedir. Uyumun temel amacı her sınıfın tek bir amaca hizmet etmesi gerektiği kuralını sağlamaktır. Sınıflar gerçekleştirim aşamasında uyuma dikkat edilerek oluşturulduğunda, bakım onarım aşamasında her amaç için tek bir sınıfa bakılacağından zaman ve maliyet açısından fayda sağlanacaktır. Literatürde yazılımın uyumunu ölçen birçok metrik ve araç bulunmaktadır. Her metrik farklı yöntemlerle ve farklı konuları dikkate alarak uyumu hesaplamaktadır. Uyumu hesaplamak için her ne kadar araç kullanımı yaygın olsa da araç kullanmak zaman ve maliyet gerektiren bir durumdur. Ayrıca araçların deneme versiyonları ile istenilen tüm metriklere her durumda erişilemeyebilir. Bildiğimiz kadarıyla şu ana kadar, yazılım uyum metriklerini makine öğrenmesi teknikleri ile tahmin etmeye çalışan herhangi bir çalışma bulunmamaktadır. Bu çalışmada Lack of Cohesion in Methods (LCOM2), Tight Class Cohesion (TCC), Loose Class Cohesion (LCC) ve Low Level Design Class Cohesion (LSCC) uyum metrikleri Rastgele Orman (Random Forest), REPTree, K En Yakın Komşu (K Nearest Neighbor – KNN), Doğrusal Regresyon (Linear Regression), Çok Katmanlı Algılayıcı (Multilayer Perceptron – MLP) ve Destek Vektör Makinesi (Support Vector Machine – SVM) yöntemleri kullanılarak tahmin edilmeye çalışılmıştır. Bu sayede uyum metriği daha hızlı ve kolay bir şekilde elde edilebilmektedir. LCOM2 metriği 0 ve 1 arasında normalize edilmediği için LCOM2 metriğine ait veri kümesine normalizasyon işlemi ve aykırı/uç değer analizi yapılmıştır. Bu işlemlerden sonra elde edilen analiz sonuçlarının tamamı verilmiştir. Alınan sonuçlara göre en iyi performanslar, LCOM2 metriği için uç değer analizinden sonra 5,080 hata değeri, normalizasyon işleminden sonra 0,079 hata değeri KNN algoritması kullanılarak, TCC için 0,231 hata değeri KNN algoritması kullanılarak, LCC için 0,259 hata değeri REPTree algoritması kullanılarak ve LSCC için 0,149 hata değeri REPTree algoritması ile elde edilmiştir.

Özet (Çeviri)

Today, as the need for software increases, it has become necessary to measure the quality of these software. There are various metrics in the literature to measure software quality. Some of these metrics measures on a class basis. Classes are the basic units of object oriented programming. The cohesion metrics, which measures the compatibility of the methods and attributes in the classes with each other, directly affects the software quality. The main purpose of cohesion is to provide the rule that every class should serve a single purpose. When classes are created by paying attenion to cohesion, a single class will be traced for each purpose during the maintenance phase, so it is profitable in terms of time and cost. There are many metrics and tools in the literature that measure cohesion. Each metric calculates cohesion with different methods and considering different issues. Although it is common to use tools to calculate the cohesion, using a tool requires time and cost . In addition, with the trial versions of the tools, all desired metrics may not be accessible in all cases. As far as we know, there is no study that tries to predict cohesion metrics with machine lerning techniques so far. In this study, Lack of Cohesion in Methods (LCOM2), Tight Class Cohesion (TCC), Loose Class Cohesion (LCC) and Low Level Design Class Cohesion (LSCC) metrics were tried to be estimated using Random Forest, REPTree, K Nearest Neighbor – KNN, Linear Regression, Multilayer Perceptron (MLP) and Support Vector Machine (SVM). In this way, the cohesion metric is obtained more quickly and easily. Since the LCOM2 metric was not normalized between 0 and 1, normalization and outlier analysis were performed on the dataset of the LCOM2 metric. All of the analysis results obtained after these processes. According to the results obtained, the best performances were obtained for the LCOM2 metric with an error value of 5.080 after outlier analysis, 0.079 error value after normalization using KNN algorithm, using the KNN algorithm with an error value 0.231 for TCC, using the REPTree algorithm with an error value 0.259 for LCC and using the REPTree algorithm with an error value 0.149 for LSCC.

Benzer Tezler

  1. Design and implementation of beyond 5g physical layer schemes

    5g sonrası fiziksel katman şemalarının tasarımı ve gerçeklemesi

    CANER GÖZTEPE

    Yüksek Lisans

    İngilizce

    İngilizce

    2019

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

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

    PROF. DR. GÜNEŞ ZEYNEP KARABULUT KURT

  2. Yapay zekâ tabanlı elektrokardiyografi sinyali ile kan basıncı tespiti

    AI-based blood pressure detection with electrocardiography signal

    DERYA KANDAZ

    Yüksek Lisans

    Türkçe

    Türkçe

    2023

    Elektrik ve Elektronik MühendisliğiSakarya Üniversitesi

    Elektrik-Elektronik Mühendisliği Ana Bilim Dalı

    DOÇ. DR. MUHAMMED KÜRŞAD UÇAR

  3. Intelligent agents based simulation using Jack development environment

    Jack geliştirme ortamında kullanarak akıllı etmenler tabanlı benzetim

    ÇAĞATAY ÇATAL

    Yüksek Lisans

    İngilizce

    İngilizce

    2004

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ.DR. COŞKUN SÖNMEZ

  4. Makine öğrenmesi teknikleriyle kripto para duygu analizi

    Başlık çevirisi yok

    GÜL CİHAN HABEK

    Yüksek Lisans

    Türkçe

    Türkçe

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolManisa Celal Bayar Üniversitesi

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

    DR. ÖĞR. ÜYESİ MANSUR ALP TOÇOĞLU

    DOÇ. DR. AYTUĞ ONAN

  5. OSAS hastaları ile sağlıklı bireylerdeki nabız geçiş sürelerinin makina öğrenmesi teknikleriyle sınıflandırılması

    Classification of pulse transit times in healthy individuals with osas patients using the machine learning method

    BEYZA NUR AKILOTU

    Yüksek Lisans

    Türkçe

    Türkçe

    2019

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolFırat Üniversitesi

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

    DR. ÖĞR. ÜYESİ SEDA ARSLAN TUNCER