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
- Tez No: 246273
- Danışmanlar: YRD. DOÇ. AYŞE BAŞAR BENER
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Metrik, Yapay zeka, Metric, Artificial intelligence
- Yıl: 2009
- Dil: İngilizce
- Üniversite: Boğaziçi Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Bölümü
- Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- 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
- 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
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. AYŞE TOSUN KÜHN
- 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
1985
Tekstil ve Tekstil MühendisliğiEge ÜniversitesiTekstil Mühendisliği Ana Bilim Dalı
DOÇ. DR. GÜNGÖR BAŞER
- 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
1987
Maden Mühendisliği ve MadencilikOrta Doğu Teknik ÜniversitesiMaden Mühendisliği Ana Bilim Dalı
DOÇ. DR. NACİ BÖLÜKBAŞI
- Havuçların haşlanmasında difüzyonun modellenmesi
Başlık çevirisi yok
FİGEN KAYMAK
Yüksek Lisans
Türkçe
1986
Gıda MühendisliğiEge ÜniversitesiGıda Mühendisliği Ana Bilim Dalı
DOÇ. DR. SUZAN KINCAL
- 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
1981
ZiraatEge ÜniversitesiBitki Islahı ve Genetik Ana Bilim Dalı
PROF. DR. İBRAHİM DEMİR