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
- Tez No: 378436
- Danışmanlar: YRD. DOÇ. DR. MEHMET SIDDIK AKTAŞ
- 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: 2014
- Dil: Türkçe
- Üniversite: Yıldız Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 116
Ö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
- 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
2014
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Bilimleri Ana Bilim Dalı
DOÇ. DR. FEZA BUZLUCA
- 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
2001
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolDokuz Eylül ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. TATYANA YAKHNO
- Nesneye dayalı çoklu ortamlı imalat veri tabanı tasarımı
Database conceiving with more creas based on object
BÜLENT ÇAĞLAR
- BUİLD. NET: A graphical application generator for object-oriented software and sample applications
BUİLD.NET: Nesne tabanlı yazılımlar için uygulama üreticisi ve örnek uygulamaları
MEHMET GÖNEN
Yüksek Lisans
İngilizce
2005
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolBoğaziçi ÜniversitesiEndüstri Mühendisliği Ana Bilim Dalı
PROF. DR. LEVENT AKIN
DOÇ. DR. ÜMİT BİLGE
- Bir proses kontrol sisteminin pascal dili ve seri iletişim kullanılarak PC ile gerçek zamanlı kontrolü
Real time PC based process control using pascal and serial communication
MEHMET BİÇER
Yüksek Lisans
Türkçe
1997
Elektrik ve Elektronik MühendisliğiDumlupınar ÜniversitesiElektronik Mühendisliği Ana Bilim Dalı
PROF. DR. HAMDİ ATMACA