Geri Dön

Nesneye dayalı programlama tabanlı yazılımlarda yazılım metrikleri kullanılarak yapısal kod klon tespiti

Structural code clone detection on object oriented software using software metrics

  1. Tez No: 378436
  2. Yazar: MUSTAFA KAPDAN
  3. Danışmanlar: YRD. DOÇ. DR. MEHMET SIDDIK AKTAŞ
  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: Açık kaynaklı yazılım, Bilgisayar yazılım dilleri, Bilgisayar yazılımları, Mimari yazılımlar, Nesneye dayalı yazılım, Open source software, Computer software languages, Computer softwares, Architectural softwares, Object oriented software
  7. Yıl: 2014
  8. Dil: Türkçe
  9. Üniversite: Yıldız Teknik Ü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ı: Belirtilmemiş.

Özet

Gereksiz tekrarlanmış kodlar (klonlar) iyi dokümante edilmemiş ve bakımı zor olan kodlardır. Bu tip kodlarda, tespit edilen bir hatanın tüm tekrarlarda düzeltilmesi gerekir. Bu durum yazılım bakım maliyetlerini önemli ölçüde artırdığı gibi kodların okunabilirliği ve anlaşılabilirliği için daha fazla çaba sarf edilmesini de gerektirir. Günümüz literatüründe kod klon problemlerini azaltmak ya da engellemek için birçok teknik önerilmiştir. Bu tekniklerin odağında basit klon ve yapısal klon kod tespiti yer almaktadır. Klon kod'lar iki ana başlık altında incelenmektedir. Yazılım içerisinde kod parçacığının benzerliğinden kaynaklanan kod tekrarlamalarına basit klon adı verilirken, sistem mimarisi içerisinde, aynı yapı ile inşa edilmiş kodlara yapısal klon denmektedir. Basit klon tespit teknikleri, tekrarlanan kod parçacıklarına geniş bir açıdan bakamadıkları için, tasarım seviyesindeki olası tekrarlamalardan kaynaklanan yapısal kod klonlarını saptayamamaktadır. Buradaki eksikliği gidermeyi amaçlayan yapısal klon tespitleri ise, yazılımdaki üst seviye benzerliklerinin ortaya çıkartılması, yeniden kullanılabilirliğin artırılması ve yazılımın basitleştirilmesine odaklanmaktadır. Yapısal klon tespit teknikleri literatürde önerilen basit klon tekniklerinin kullanımına dayanmaktadır. Bu tez kapsamında metrik tabanlı olarak yapısal kod klon tespiti için en uygun metrikler ve bu metriklere dayalı olarak klon tespit metodolojisi önerilmektedir. Ortaya konan yöntembilimi gerçeklenerek, açık kaynaklı Sonar Kalite Ölçüm aracına eklenti olarak geliştirilmektedir. Yöntemin değerlendirilmesi yapılmakta ve sadece metriklere dayalı olarak yapısal kod klon tespitlerinde başarılı sonuçlar alındığı ortaya konulmaktadır.

Özet (Çeviri)

Unnecessary repeated codes clones have not been well documented and are difficult to maintain. Detected bugs must be fixed in all occurences in these types of codes. Code clones may become an important problem in software development cycle and they must be fixed in all occurrences. This condition increases significantly software maintenance costs and required effort/duration for understanding the code. Many techniques have been proposed in order to minimize or prevent the code cloning problems in contemporary literature. The main focus of these techniques is on the detection of clones. In such studies, code cloning is studied under two main categories. While the repetition of code fragments arising from the code similarity is called as simple clone in the software, codes built with the same structure are called as structural clone in the system architecture. Simple clone detection techniques fail to determine the reasons of code repetition whether it is due to design or not, as they do not look at the code from a wider perspective for repetitive code snippets. Structural code clone detection techniques reveal the high level similarities, increase the reusability and simplify the software for filling the deficiency of simple clone detection techniques. The structural code clone detection techniques are based on existing simple code clone techniques in the literature. In this thesis, the most suitable metrics for metric based structural code clone detection and detection methodology based on these metrics are proposed. The proposed methodology has been implemented as a plugin for Sonar that is an open source quality management tool. In conclusion,this thesis evaluates the proposed methodology and proves that metric based structural code clone detection gives the successful results.

Benzer Tezler

  1. Yeşil yazılımda enerji tüketimini düşürmeye yönelik kombinatoryal bir algoritma geliştirilmesi

    Development of a combinatorial algorithm to reduce energy consumption in the green software

    İBRAHİM ŞANLIALP

    Doktora

    Türkçe

    Türkçe

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolSüleyman Demirel Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. TUNCAY YİĞİT

    DOÇ. DR. MUHAMMED MARUF ÖZTÜRK

  2. Nesneye dayalı yazılımları servis odaklı modüllere ayrıştırma için öğrenme tabanlı bir yöntem

    A learning-based method for extracting service-oriented modules in object-oriented software

    URAL ERDEMİR

    Doktora

    Türkçe

    Türkçe

    2014

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

    Bilgisayar Bilimleri Ana Bilim Dalı

    DOÇ. DR. FEZA BUZLUCA

  3. Design and implementation of constraint based solver for subdefinite data

    Kesin belirli olmayan veriler için kısıt tabanlı çözümleyici tasarımı ve gerçeklemesi

    SERKAN DEMİR

    Yüksek Lisans

    İngilizce

    İngilizce

    2001

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolDokuz Eylül Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. TATYANA YAKHNO

  4. Model based parallelization of object oriented software for multicore systems

    Çok çekirdekli sistemler için nesneye dayalı yazılımların model tabanlı paralelleştirilmesi

    TOLGA OVATMAN

    Doktora

    İngilizce

    İngilizce

    2011

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

    Bilgisayar Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. FEZA BUZLUCA

  5. Teknoloji destekli işbirliğine dayalı programlama öğretiminin meslek yüksekokulu öğrencilerinin eğitsel çıktılarına etkisinin incelenmesi

    Exploring the effect of technology supported collaborative programming instruction on the educational output of community college students

    ERHAN ÜNAL

    Doktora

    Türkçe

    Türkçe

    2017

    Eğitim ve ÖğretimGazi Üniversitesi

    Bilgisayar ve Öğretim Teknolojileri Eğitimi Ana Bilim Dalı

    DOÇ. DR. HASAN ÇAKIR