Geri Dön

Prediction of code refactoring using class and file level software metrics

Sınıf ve dosyaların yazılım ölçütleri kullanılarak tekrar tasarım durumlarının irdelenmesi

  1. Tez No: 246273
  2. Yazar: YASEMİN KÖŞKER
  3. Danışmanlar: YRD. DOÇ. AYŞE BAŞAR BENER
  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: Metrik, Yapay zeka, Metric, Artificial intelligence
  7. Yıl: 2009
  8. Dil: İngilizce
  9. Üniversite: Boğaziçi Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Bölümü
  12. Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  13. Sayfa Sayısı: Belirtilmemiş.

Özet

Yazılım geliştirme maliyetindeki payı açısından bakım maliyetleri, özellikle de modüllerin sıkı eşleştirmesine bağlı olan telekomünikasyon alanındaki gibi çoklu versiyonlu gerçek-zamanlı sistemlerde çok yüksek olabilir. Karmaşık sınıfların geliştirilmesi ile birlikte kodun okunabilirliği çok zor bir hale gelebilir, bu yüzden yeni yazılım geliştiricilerin projeye katılma süreci zorlaşır ve projenin bakımı zor bir iş haline gelir. Bu problemin üstesinden gelmenin bir yolu; sistemin hangi kısımlarının bakımının zor olduğunu ya da hangi kısımların değişime eğilimli olduğunu tahmin etmektir. Tekrar tasarım kararları; yazılım geliştiricilerin deneyimini temel alan maliyeti yüksek, manuel kod incelenmesine dayalı olarak alınır. Bu durum sistemi süreçlerden çok insanlara bağımlı kılar. Aynı zamanda manuel inceleme, proje maliyetlerini de yükseltecektir. Yöneticiler genel olarak kodun kalitesinden çok projenin zamanında ve bütçe sınırları dahilinde tamamlanmasıyla ilgilenirler. Fakat, projeyi düsük maliyetli ve son teslim zamanından önce bitirmekle birlikte aynı zamanda kodun kalitesinin ve yapısının korunması ve hatta geliştirilmesi, daha tercih edilen bir durum olacaktır.Bu araştırmada projeleri, versiyon geçmişiyle kod karmaşıklığını analiz ederek tekrar tasarlanması gereken sınıfları belirlemeyi hedeflemekteyiz. Biz, tekrar tasarlanması gereken sınıfları özelliklerine göre önceliklendiren makina öğrenme temelli bir model öneriyoruz. Bizim öngörü sonuçlarımız gösteriyor ki, belirli özelliklere ağırlıklar vermek: sınıf bazlı ortalamada %71 doğru tahmin ve %18 yanlış alarm oranlarında, performans modeli öngörüsünü oldukça geliştirmektedir. Ayrıca önerdiğimiz model, bakıma dayalı çalışmalarda; manuel kod incelemesine göre, ortalama olarak fazladan %81 verimlilik üstünlüğü sağlamaktadır.

Özet (Çeviri)

Maintenance costs as a proportion of software development cost could be very high, especially in multi version real-time systems such as in telecommunications domain due to tight coupling of modules. The readability of the code becomes very hard with the development of complex classes, so the maintenance and the adaptation of the new developers to the project becomes a diffucult job. One way to overcome this problem is to predict what parts of the system are difficult to maintain and likely to change. Refactoring decisions are taken through a costly manual inspection of the code based on developer experience. It makes the system dependent to people rather than processes. Also, manual inspection increases the cost of the project. The managers are generally interested in projects which are completed on time and within budget rather than code quality. However, it would be preferable to make the project less costly and finish it before deadline by also preserving or enhancing the code quality and structure.In this research we aim to detect the modules that need to be refactored by analyzing the code complexity of the projects with version history. We propose a machine learning based model that prioritizes attributes to predict modules to be refactored. Our prediction results revealed that assigning weights to certain attributes considerably improves the prediction performance of the model as high as 71% of probability of detection and as low as 18% of false alarm rates on the average in class-level. Further our proposed model provides on average as high as 81% efficiency in maintenance effort, over and above the manual code inspection.

Benzer Tezler

  1. A composed technical debt identification methodology to predict software vulnerabilities

    Yazılım zafiyetlerini tahmin etmek için kapsamlı bir teknik borç tanımlama yöntemi

    RUŞEN HALEPMOLLASI

    Doktora

    İngilizce

    İngilizce

    2024

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. AYŞE TOSUN KÜHN

  2. Dokuma kumaşlarda örgü tipinin ham kumaşın boyutları ve geometrik özellikleri üzerindeki etkilerinin araştırılması

    Başlık çevirisi yok

    EMEL ÖNDER

    Yüksek Lisans

    Türkçe

    Türkçe

    1985

    Tekstil ve Tekstil MühendisliğiEge Üniversitesi

    Tekstil Mühendisliği Ana Bilim Dalı

    DOÇ. DR. GÜNGÖR BAŞER

  3. Studies on the cuttability of rocks at O.A.L. Çayırhan district by laboratory cutting tests

    Başlık çevirisi yok

    KÜRŞAD CEYLAN

    Yüksek Lisans

    İngilizce

    İngilizce

    1987

    Maden Mühendisliği ve MadencilikOrta Doğu Teknik Üniversitesi

    Maden Mühendisliği Ana Bilim Dalı

    DOÇ. DR. NACİ BÖLÜKBAŞI

  4. Havuçların haşlanmasında difüzyonun modellenmesi

    Başlık çevirisi yok

    FİGEN KAYMAK

    Yüksek Lisans

    Türkçe

    Türkçe

    1986

    Gıda MühendisliğiEge Üniversitesi

    Gıda Mühendisliği Ana Bilim Dalı

    DOÇ. DR. SUZAN KINCAL

  5. Arpada diallel melez analizleri ile bazı tarımsal özelliklerin kalıtımı üzerinde araştırmalar

    Başlık çevirisi yok

    KAYIHAN Z. KORKUT

    Doktora

    Türkçe

    Türkçe

    1981

    ZiraatEge Üniversitesi

    Bitki Islahı ve Genetik Ana Bilim Dalı

    PROF. DR. İBRAHİM DEMİR