Platformlar arası kod klon tespiti
Başlık çevirisi mevcut değil.
- Tez No: 785766
- Danışmanlar: DOÇ. DR. AKHAN AKBULUT
- 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: 2023
- Dil: Türkçe
- Üniversite: İstanbul Kültür Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: 66
Özet
Günümüzün taleplerine ayak uydurmak için yazılım mimarisi sürekli olarak geliştirilmektedir. En modern mimari yöntemlerden biri olmasına rağmen, mikroservis mimarisini uygulamanın zorlukları vardır. Mikroservis mimarisinin çok dilli yapısı organizasyon kolaylığı sağlarken, kod klonlarının algılanmasını da zorlaştırır. Kod klonları, bir yazılım sistemindeki, sistemi korumak için gereken bakım zamanını ve ihtiyaç duyduğu kaynağı artıran, yinelenen kod parçalarını ifade eder. Yazılım geliştirme için kod klonlarının hem olumlu hem de olumsuz etkileri olabilir. Bu nedenle, herhangi bir kod gözden geçirme ve yeniden düzenleme öncesi klonların tanımlanması gerekir. Çok dilli mikroservislerde, platformlar arasında kod klonlarını tespit etmek, onları aynı platformda bulmaktan daha zorlu bir iştir. Bu araştırma, JavaScript, C, C# ve Java ile geliştirilen yazılım bileşenlerinin, birbirinin kod klonları olma derecesini analiz etmek için bir metodoloji sunmaktadır. Spesifik olarak, kodların ne kadar benzer olduğunu belirlemek için Kosinüs Benzerliği, Öklid Uzaklığı ve Manhattan Uzaklığı ölçümlerini kullandık. Deney yoluyla, https://atcoder.jp sitesinden kod kopyalarından oluşan bir veri kümesi topladık ve çeşitli yaklaşımlar için deneysel eşikler belirledik. Deneylerimiz, platformlar arası kod klonlarını tespit etmede en etkili yaklaşımın Manhattan Uzaklığı olduğunu (%91,59), bunu Öklid Uzaklığı (%91,08) ve son olarak da Kosinüs Benzerliği'nin (%72,83) izlediğini gösteriyor. Aynı platformda kod klonlarını tespit etmedeki başarı oranı ise Kosinüs Benzerliği %94,73, Öklid Uzaklığı %91,77 ve Manhattan Uzaklığı %91,15'tir. Bu tekniğin, yazılım geliştirme ekiplerinin çeşitli teknolojiler kullandığı ortamlarda ortaya çıkabilecek platformlar arası benzer kod örneklerini belirlemek için kullanılabileceği tespit edilmiştir.
Özet (Çeviri)
To keep up with the demands of today, software architecture is continuously being refined. Although it is the most modern architectural method, adopting a microservice architecture is not without its difficulties. While the polyglot structure of the microservice Architecture provides organizational ease, it also makes detecting code clones more difficult. Code clones refer to duplicate fragments of code in a software system, which increases the time and effort needed to maintain the system and the amount of resources it needs. For software development, code clones can have both positive and negative effects. Therefore, clones need to be identified prior to any sort of refactoring or elimination. In multilingual microservices, recognizing code clones across platforms is a more challenging task than finding them on the same platform. This research presents a methodology for analyzing the degree to which software components developed with JavaScript, C, C#, and Java are code clones of one another. Specifically, we utilized the Cosine Similarity, Euclidean Distance, and Manhattan Distance measures to determine how similar codes were. Through experimentation, we have amassed a dataset consisting of code copies from the site https://atcoder.jp and identified empirical thresholds for various approaches. Our research indicates that Manhattan Distance is the most effective approach for detecting cross-platform code clones (91.59%), followed by Euclidean Distance (91.08%), and finally Cosine Similarity (72.83%). The success rate in detecting code clones on the same platform is Cosine Similarity 94.73%, Euclidean Distance 91.77%, and Manhattan Distance 91.15%. It's been established that this technique can be used to identify instances of code duplication across platforms, which might arise in settings where development teams employ diverse technology stacks.
Benzer Tezler
- Platformlar arası çerçevelere genel bakış, flutter ve react native performans karşılaştırması
Cross-platform frameworks overview, flutter and react native performance comparison
CUMALİ TEKSÖZ
Yüksek Lisans
Türkçe
2021
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Aydın ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ ADEM ÖZYAVAŞ
- Büyük veri analitiği ve dijital reklamcılık yönetim sistemleri üzerine model önerisi
Model proposal on big data analytics and digital advertising management systems
BERKAY BULUŞ
Doktora
Türkçe
2023
ReklamcılıkSakarya Üniversitesiİletişim Bilimleri Ana Bilim Dalı
PROF. DR. METİN IŞIK
- Three-dimensional video coding on mobile platforms
Mobil platformlar üzerinde üç-boyutlu video kodlanması
CAN BAL
Yüksek Lisans
İngilizce
2009
Elektrik ve Elektronik Mühendisliğiİhsan Doğramacı Bilkent ÜniversitesiElektrik ve Elektronik Mühendisliği Bölümü
PROF. DR. LEVENT ONURAL
- COVİD-19 pandemi dönemindeki eğitim uygulamalarının değerlendirilmesi ve Pierre Bourdieu'nun kültürel sermaye kuramı açısından incelenmesi
Evaluation and investigation of education practices during the covid-19 pandemic period in terms of Pierre Bourdieu's cultural capital theory
ÇİĞDEM ALTUN
Yüksek Lisans
Türkçe
2022
Eğitim ve ÖğretimEskişehir Osmangazi ÜniversitesiEğitim Bilimleri Ana Bilim Dalı
DOÇ. DR. İLKNUR ŞENTÜRK
- Görsel kültür unsurlarının kitle iletişim araçlarındaki temsiller üzerinden toplumsal hafızaya etkisi: 2. Abdülhamid örneği
The effect of visual culture elements on social memory through representations in mass media: The example of Abdulhamid the 2nd
TAŞKIN ERDOĞAN
Doktora
Türkçe
2022
Radyo-TelevizyonAtatürk ÜniversitesiTemel İletişim Bilimleri Ana Bilim Dalı
PROF. DR. ADEM YILMAZ