Automated and metric-based detection of code smells and antipatterns
Kod kusurları ve anti-kalıpların otomatik ve ölçüt tabanlı tespiti
- Tez No: 495353
- Danışmanlar: YRD. DOÇ. DR. YUNUS EMRE SELÇUK
- 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: 2018
- Dil: İngilizce
- Üniversite: Yıldız Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: 42
Özet
Yazılım tasarım kalıpları, nesne yönelimli sistemlerin modellenmesinde yaygın olarak karşılaşılan problemler için sunulmuş, tasarımı iyileştirerek yeniden kullanılabilirliğini arttıran çözüm önerileridir. Karşıt kalıplar Ve kod kusurları ise tasarım kalıplarının zıttı olan önerilerdir. Bunlar yazılım hatası değildir: Programın doğru çalışmasını engellemez ve hatalı kod olarak nitelendirilemezler. Bunun yerine yazılımın geliştirilme sürecini yavaşlatan veya gelecekte hatalar ile karşılaşma olasılığını arttıran tasarım zayıflıklarının işaretçileridirler. Bakım aşamasının maliyetini de arttırırlar. Karşıt kalıplar, geliştiriciler bir tasarım kalıbı uyguladıklarını düşünseler bile, sık karşılaşılan problemler için zayıf çözüm önerileridirler. Kod kusurları ise bir yazılımın kaynak kodunda büyük olasılıkla daha derin sorunlara işaret eden semptomlardır . Poltergeist, bir yazılım geliştirme karşıt kalıbıdır. Bu kalıbı ortaya koyan sınıfların sistemde sınırlı rolü bulunup örneklerinin yaşam süresi sınırlıdır. Bu karşıt kalıp sisteme gereksiz soyutlamalar, karmaşıklık ve bakım zorluğu getirir. Tez çalışmasının amacı bir sınıfın bir Poltergeist örneği olup olmadığının belirlenebilmesi için yazılım ölçütü tabanlı bir yaklaşım ortaya koymaktır.
Özet (Çeviri)
In software engineering, Patterns are techniques which are used to improve the design and enhance the reusability of a solution to commonly occurring problem design and they are general solutions which are used for common problems in object-oriented systems.Antipatterns and code smells are opposites of design patterns. Those are not bugs: They are not technically incorrect coding and they do not currently prevent the program from functioning.Instead, they indicate weaknesses in design that may be slowing down development or increasing the risk of bugs or failures in the future. They also make software maintenance more costly. The antipattern concept is introduced as poor solutions to solve recurring problems, even though developers think that they practice a design pattern. Code smells, also called also as bad smells, refer to any symptom in the source code of a program that possibly indicates a deeper problem. Poltergeist antipattern is one of the software development antipatterns. Poltergeists are classes with limited accountability and roles to be active in the system; thus, their efficient life period is quite short. Poltergeists are messy software design, make needless abstractions; they are overmuch complex, hard to know, and hard to look after. Our objective is to propose a metric based approach to determine whether a class is poltergeist or not.
Benzer Tezler
- Software defect prediction with a personalization focus and challenges during deployment
Kişiselleştirme odaklı yazılım hata tahmini ve entegrasyon zorlukları
BEYZA EKEN
Doktora
İngilizce
2022
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ AYŞE TOSUN KÜHN
- Automatic detection of code causing negative effects on software quality
Yazılım kalitesi üzerinde olumsuz etkilere neden olan otomatik kod algılama
BAYDAA MOHAMMED MERZAH
Yüksek Lisans
İngilizce
2017
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolYıldız Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
YRD. DOÇ. YUNUS EMRE SELÇUK
- Simülasyon yazılımlarında kod klonları
Code clones in simulation software systems
MERVE ASTEKİN
Yüksek Lisans
Türkçe
2012
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. MUHİTTİN GÖKMEN
- Automated testing for solidity smart contracts
Solidity akıllı sözleşmeleri için otomatik testle
SEFA AKCA
Doktora
İngilizce
2022
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolThe University of EdinburghBilgisayar ve Enformatik Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. AJITHA RAJAN
- Yazılım hata kestirim yaklaşımları
Software defect prediction approaches
ÖZKAN SARI
Yüksek Lisans
Türkçe
2015
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolYıldız Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. OYA KALIPSIZ