Automated identification and refactoring of code clones in test scripts for eliminating duplication
Test betiklerindeki kod klonlarının otomatik tanımlanması ve tekrarın ortadan kaldırılması için yeniden yapılandırılması
- Tez No: 981476
- Danışmanlar: PROF. DR. HASAN SÖZER
- 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: 2025
- Dil: İngilizce
- Üniversite: Özyeğin Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Bilimleri Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: Belirtilmemiş.
Özet
Test betiklerindeki kod klonları, sürdürülebilirliği önemli ölçüde azaltabilmektedir. Özellikle test senaryolarında benzerliklerin bulunduğu ekosistemlerde ve ürün ailelerinde bu durum, kod tekrarına yol açabilmektedir. Bu çalışmanın amacı, test betiklerindeki tekrarları ortadan kaldırarak bu betiklerin boyutunu küçültmek ve bakımını kolaylaştırmaktır. Özellikle Python test betiklerine odaklanılarak, ortaklıkların otomatik olarak tespit edilmesi, varyasyonların belirlenmesi ve refaktörizasyonun uygulanmasına yönelik bir yöntem önerilmektedir. Çeşitli klon tespit araçlarının, Python test betiklerinde fonksiyonel düzeydeki kod klonlarını tespit etme etkinlikleri karşılaştırılmıştır. Benzer işlevler arasındaki farklılıkları ve kod bağımlılıklarını belirlemek amacıyla statik analiz uygulanmış, böylece otomatik refaktörizasyon süreci yönlendirilmiştir. Önerilen refaktörizasyon yaklaşımı, yeni işlevlerin çıkarılması veya mevcut işlevlerin parametreleştirme yoluyla genelleştirilmesini içermektedir. Yöntemimiz, bir endüstriyel ve üç açık kaynaklı proje üzerinde yapılan vaka çalışmalarıyla doğrulanmıştır. Elde edilen sonuçlar, otomatik refaktörizasyonun test betiklerinin boyutunda %8'e varan bir azalma sağlayabileceğini göstermektedir. Test betiklerindeki kod klonlarının otomatik olarak tespiti ve refaktörizasyonu, kod tekrarını ortadan kaldırarak betik boyutunu azaltabilmektedir. Vaka çalışmaları ile doğrulanan bu yaklaşım, farklı yazılım ekosistemlerinde test betiklerinin bakımını iyileştirmek amacıyla uygulanabilir niteliktedir.
Özet (Çeviri)
Code clones in test scripts can significantly reduce maintainability. They can lead to duplication especially in ecosystems and product families where applications have commonalities in their test scenarios. Our goal is to eliminate duplication in test scripts for reducing their size and improving their maintainability. In particular, we focus on Python test scripts and propose an automated approach to identify commonalities, detect variations, and apply refactoring. We compare the effectiveness of various clone detection tools in identifying code clones at the function level in Python test scripts. We apply static analysis to detect variations and code dependencies among similar functions to steer the automated refactoring process. The refactoring approach involves extracting new functions or generalizing existing functions through parameterization. We validate our approach through case studies on one industrial and three open-source projects. Our findings indicate that automated refactoring can lead to a reduction of up to 8% in the size of test scripts. Automated detection and refactoring of code clones in test scripts can eliminate code duplication and reduce the script size. The proposed approach, validated through case studies, shows promising results and can be applied in various software ecosystems to improve test script maintainability
Benzer Tezler
- Pozitif sinyal veren kan kültür şişelerinden MALDI TOF MS ile direkt tanımlama ve BD Phoenix otomatize sistemi ile direkt antibiyotik duyarlılık testi çalışılması
Direct identification with MALDI TOF MS and direct antibiotic susceptibility testing with the BD Phoenix automated system from positive blood culture bottles
GÜLŞAH MİROĞLU
Tıpta Uzmanlık
Türkçe
2023
MikrobiyolojiSağlık BakanlığıTıbbi Mikrobiyoloji Ana Bilim Dalı
DOÇ. DR. AYFER BAKIR
- Bakteriyolojik identifikasyonda konvansiyonel yöntemler ile otomatize sistemlerin karşılaştırılması.
Comparison of the conventional methods and automated systems for identification of bacteria.
ÖZGÜL KISA
Doktora
Türkçe
1995
Enfeksiyon Hastalıkları ve Klinik MikrobiyolojiGataMikrobiyoloji ve Klinik Mikrobiyoloji Ana Bilim Dalı
PROF. DR. HÜSEYİN GÜN
- Düz basım ve çevrilerek alınan parmak izlerinin otomatik parmak izi tespit sistemi (OPTES)'nde tespit performanslarının karşılaştırılması
Comparing hit performance for plain and rolled fingerprints in automated fingerprint identification system (AFIS)
ÖZCAN YILDIZ
Doktora
Türkçe
2020
Adli TıpAnkara ÜniversitesiAdli Bilimler Ana Bilim Dalı (disiplinlerarası)
PROF. DR. ASLIHAN GÜRBÜZ
- Kan ve kateter kültürü örneklerinden izole edilen corynebacterium afermentans ve corynebacterium mucifaciens bakterilerinin tanımlanmasında konvansiyonel yöntemler, otomatize sistemler ve DNA dizi analizi yöntemlerinin karşılaştırılması
Comparison of conventional methods, automated systems and dna sequence analysis methods for identification of corynebacterium afermentans and corynebacterium mucifaciens bacteria isolated from blood and catheter culture samples
SERPİL ÖLMEZ
Tıpta Uzmanlık
Türkçe
2017
MikrobiyolojiYüzüncü Yıl ÜniversitesiTıbbi Mikrobiyoloji Ana Bilim Dalı
DOÇ. DR. HÜSEYİN GÜDÜCÜOĞLU
PROF. DR. BANU SANCAK
- Kan kültüründe üreyen gram-negatif çomakların otomatize sistemlerle tanımlanmadan hızlı antimikrobiyal duyarlılık testi metoduyla üçüncü kuşak sefalosporin, karbapenem ve seftazidim-avibaktam duyarlılığın tespit edilmesi
Rapid antimicrobial susceptibility testing method for third-generation cephalosporins, carbapenems, and ceftazidime-avibactam susceptibility of gram-negative rods cultured in blood culture without automated identification systems
MUHAMMED BURAK SEVİNÇ
Tıpta Uzmanlık
Türkçe
2025
Enfeksiyon Hastalıkları ve Klinik Mikrobiyolojiİstanbul ÜniversitesiEnfeksiyon Hastalıkları ve Klinik Mikrobiyoloji Ana Bilim Dalı
DOÇ. DR. SENİHA BAŞARAN