Analysis of technical debt in ML-based software development projects
Makine öğrenimi temelli yazılım geliştirme projelerinde teknik borcun analizi
- Tez No: 897634
- Danışmanlar: DR. ÖĞR. ÜYESİ ÖZDEN ÖZCAN TOP, PROF. DR. TUĞBA TAŞKAYA TEMİZEL
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Makine Öğrenmesi, Teknik Borçlanma, Makine Öğrenmesi Yazılım Geliştirme Yaşam Döngüsü, Machine Learning, Technical Debt, Machine Learning Development Life-Cycle
- Yıl: 2024
- Dil: İngilizce
- Üniversite: Orta Doğu Teknik Üniversitesi
- Enstitü: Enformatik Enstitüsü
- Ana Bilim Dalı: Bilişim Sistemleri Ana Bilim Dalı
- Bilim Dalı: Bilişim Sistemleri Bilim Dalı
- Sayfa Sayısı: 210
Özet
Makine Öğrenimi (ML) algoritma ve yöntemlerinin hızlı gelişimi ile gelişmiş sistem ve altyapılara geniş erişim imkanı, pratik sorunlara yönelik ML tabanlı yazılım çözümlerinin geliştirilmesini hızlandırmıştır. Geleneksel yazılım geliştirme projelerine benzer şekilde ML tabanlı yazılım süreçlerinde de, ideal olmayan çözümler ya da alt düzey kestirme yolların uygulanması, istenmeyen sonuçlara yol açabilir. Kasti ya da kasti olmadan alınan bu yetersiz kararların etkileri teknik borç olarak adlandırılır. ML tabanlı projeler ile geleneksel yazılım projeleri arasında yapısal farklılıklar olması sebebiyle teknik borç olgusunun yeniden ele alınması ihtiyacı doğmuştur. Bu tez çalışmasında, teknik borçlanma, ML tabanlı proje perspektifinden tanımlanmış ve ML yazılım projelerine özgü teknik borç kategorileri belirlenmiştir. Teknik borcun belirlenmesi ve etkileri, Veri Bilimi ve ML alanında çalışan 18 endüstri profesyoneli ile yapılan kesitsel çalışma ve görüşmeler ile incelenmiştir. Bu görüşmelerde, aktarılan teknik borcun kök nedenleri, etkileri, uygulanan ya da önerilen çözümler ya da önleme stratejileri de kodlama analizi ile değerlendirilmiştir. Analiz neticesinde belirlenen kategorilerin doğrulanması için akademik uzmanlar ile üç iterasyonda uzman değerlendirmesi gerçekleştirilmiştir. Çalışma, ML projelerine özgü veri, model, altyapı ve dağıtım gibi teknik borç kategorilerine ek olarak, kod, sistem dizaynı ve takım, kaynak ve bilgi yönetimi gibi geleneksel yazılım geliştirme projelerine özgü teknik borç kategorilerini de belirlemiştir. Bu araştırma, ML projelerindeki teknik borç olgusunu detaylı bir şekilde anlamayı sağlayarak, bu borçların yönetimi ve azaltılması için pratik öneriler sunmaktadır. Bu çalışma, Makine Öğrenimi ve Yazılım Mühendisliği alanlarına, ML bağlamında teknik borcun özgün doğasını vurgulayarak ve yönetimi için yapılandırılmış yaklaşımlar önererek katkıda bulunmaktadır.
Özet (Çeviri)
Rapid development of Machine Learning (ML) algorithms and tools, and easier access to available frameworks and infrastructures have greatly fueled development of ML- based software solutions for real-world problems. Similar to traditional software development projects, ML-based projects have to deal with significant consequences of quick but sub-optimal solutions or shortcuts taken in the development process. Effects of these intentional or unintentional poor decisions are known as technical debt (TD). Due to structural differences of ML projects compared to traditional software projects, the TD phenomenon needs to be revisited. In this thesis, TD is defined specifically in the context of ML-based projects, and distinct categories of TD relevant to these projects are identified. The assessment of TD were examined based on the data collected through interviews from 18 industry professionals in the fields of Data Science and ML. These interviews were analyzed by using thematic analysis to identify the root causes, impacts, band-aid solutions and mitigation strategies related to TD. The findings of the study were reviewed by academic experts in multiple iterations. The study, in addition to identifying TD categories specific to ML projects such as data, model, infrastructure and deployment, also identified traditional software project-specific TD categories such as code, system design, and team, resource, and knowledge management. This research provides a detailed understanding of TD phenomenon in ML projects and offers practical recommendations for its management. This study contributes to the field by highlighting the unique nature of TD in ML context and proposes a TD-oriented structure for its assessment.
Benzer Tezler
- A composed technical debt identification methodology to predict software vulnerabilities
Yazılım zafiyetlerini tahmin etmek için kapsamlı bir teknik borç tanımlama yöntemi
RUŞEN HALEPMOLLASI
Doktora
İngilizce
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. AYŞE TOSUN KÜHN
- Understanding technical debt in complex system development projects: A visualization model
Kompleks sistem geliştirme projelerinde teknik borcu anlamak: Görselleştirme modeli
MURAT CAN GÜLER
Yüksek Lisans
İngilizce
2023
Yönetim Bilişim SistemleriOrta Doğu Teknik ÜniversitesiEnformatik Ana Bilim Dalı
DR. ÖĞR. ÜYESİ ÖZDEN ÖZCAN TOP
- Sermaye şirketlerinde sermaye kaybı, borca batıklık ve teknik iflasın sonuçları ile alınabilecek iyileştirici önlemler kapsamında mali tablo analizi
The financial statement analysis about precautions for the capital companies that has capital loss or in debt and the consequences of technical bankruptcy
EZGİ ÖZTÜRK
- İç ve dış borçlanmada risk analizine dayalı borç yönetimi ve Türkiye açısından değerlendirilmesi (1980 ve sonrası)
Debt management based on the analysis of risks in domestic and external debt and testing for Turkey (1980 onwards)
EREN ÇAŞKURLU
- Avrupa Para Birliği, Avrupa para biriminin hayata geçişi ve işleyişi, Türkiye üzerine etkileri
Başlık çevirisi yok
DİNA İŞLER