Makine öğrenmesi teknikleriyle yazılım uyum metriklerinin tahmini
Predicting software coheson metrics with machine learning techniques
- Tez No: 749762
- Danışmanlar: DR. ÖĞR. ÜYESİ TÜLİN ERÇELEBİ AYYILDIZ
- 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: 2022
- Dil: Türkçe
- Üniversite: Başkent Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- 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
- 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
2019
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiElektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
PROF. DR. GÜNEŞ ZEYNEP KARABULUT KURT
- 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
2023
Elektrik ve Elektronik MühendisliğiSakarya ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
DOÇ. DR. MUHAMMED KÜRŞAD UÇAR
- 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
2004
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ.DR. COŞKUN SÖNMEZ
- Makine öğrenmesi teknikleriyle kripto para duygu analizi
Başlık çevirisi yok
GÜL CİHAN HABEK
Yüksek Lisans
Türkçe
2022
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolManisa Celal Bayar ÜniversitesiYazılım Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ MANSUR ALP TOÇOĞLU
DOÇ. DR. AYTUĞ ONAN
- 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
2019
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolFırat ÜniversitesiYazılım Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ SEDA ARSLAN TUNCER