Uygulama Programlama Arayüzü Dokümantasyonunun Sürekliliğinin Sağlanması
dc.contributor.advisor | Nazlıoğlu, Selma | |
dc.contributor.author | Moghommahie, Constant Fotie | |
dc.date.accessioned | 2025-07-06T00:30:00Z | |
dc.date.available | 2025-07-06T00:30:00Z | |
dc.date.issued | 2025 | |
dc.department | Fen Bilimleri Enstitüsü / Yazılım Mühendisliği Ana Bilim Dalı | |
dc.description.abstract | Modern yazılım geliştirmede, özellikle projeler hızla ölçeklenip geliştikçe, güncel ve doğru Uygulama Geliştirim Arayüzü (UGA) dokümantasyonunun sürekliliğinin sağlanması hali hazırda bir problemdir. Genellikle el ile veya yarı otomatik olan geleneksel UGA dokümantasyon yöntemleri, sık kod değişikliklerine ayak uydurmakta zorlanır ve bu da güncel olmayan, tutarsız ve güvenilmez bir dokümantasyona yol açar. Bu verimsizlik işbirliğini engellemekte, geliştirici üretkenliğini azaltmakta ve yazılım projelerinin genel kalitesini etkilemektedir. Bu zorluğun üstesinden gelmek için bu tez, Sürekli Entegrasyon/Sürekli Dağıtım (SE/SD) ilkelerinden esinlenerek Sürekli UGA Dokümantasyonu elde etmek için kapsamlı bir metodoloji sunmaktadır. Bu yaklaşımın merkezinde, son teknoloji ürünü Büyük Dil Modelleri (BDM), özellikle de kaynak kodu ve ilgili OpenAPI spesifikasyonlarını içeren seçilmiş bir alana özgü veri kümesi üzerinde ince ayar yapılmış olan Llama3.1-8B kullanılmaktadır. Bu ince ayar, modelin doğrudan kaynak kodundan doğru ve ayrıntılı GA belgeleri üretmesini ve gelişen proje eserleriyle uyum sağlamasını sağlar. Bu çalışma ile üç katkı verilmektedir. İlk olarak, dokümantasyon için gereken manuel çabayı azaltmayı amaçlayan doğru ve kaliteli OpenAPI spesifikasyonları üretebilen ince ayarlı bir BDM geliştirilmiştir. İkinci olarak, otomatik UGA dokümantasyon araştırmalarını ilerletmek için değerli bir kaynak sağlayan, kaynak kodu ve UGA spesifikasyonlarından oluşan bir veri kümesi sunulmuştur. Üçüncü olarak, sürüm kontrol sistemleri ve SE/SD hatlarıyla sorunsuz bir şekilde entegre olan bir komut satırı aracı olan LANADOC uygulaması, metodolojiyi işler hale getirmekte ve otomatik dokümantasyonun gerçek dünya iş akışlarında pratik uygulamasını desteklemektedir. Değerlendirme sonuçları, önerilen metodolojinin minimum geliştirici müdahalesi ile güncel, kaliteli dokümantasyonun sürekliliğnin sağlanmasındaki başarımı doğrular niteliktedir. Bu araştırma, Büyük Dil Modelleri, seçilmiş veri kümeleri ve otomasyon araçlarını modern yazılım mühendisliği uygulamalarında birleştirmenin dönüştürücü potansiyelini vurgulamakta ve sürekli dokümantasyon yöntem ve araçlarının ilerlemesine katkıda bulunmaktadır. | |
dc.description.abstract | In modern software development, maintaining up-to-date and accurate Application Programming Interface (API) documentation remains a persistent challenge, especially as projects scale and evolve rapidly. Traditional API documentation methods, which are often manual or semi-automated, struggle to keep pace with frequent code changes, leading to outdated, inconsistent, and unreliable documentation. These inefficiencies hinder collaboration, reduce developer productivity, and impact the overall quality of software projects. To address this challenge, this thesis introduces a comprehensive methodology for achieving Continuous API Documentation, inspired by principles of Continuous Integration/Continuous Deployment (CI/CD). Central to this approach is the use of state-of-the-art Large Language Models (LLMs), specifically Llama3.1-8B, which was fine-tuned on a curated domain-specific dataset comprising source code and corresponding OpenAPI specifications. This fine-tuning enables the model to generate accurate and detailed API documentation directly from the source code, ensuring alignment with the evolving project artifacts. The contributions of this work are threefold. First, a fine-tuned LLM model is developed, demonstrating its capability to generate high-quality OpenAPI specifications while reducing the manual effort required in documentation processes. Second, a curated dataset of source code and API specifications is presented, providing a valuable resource for advancing automated API documentation research. Third, the implementation of LANADOC, a command-line tool that integrates seamlessly with version control systems and CI/CD pipelines, operationalizes the methodology and supports the practical application of automated documentation in real-world workflows. Evaluation results confirm the effectiveness of the proposed methodology in maintaining up-to-date, high-quality documentation with minimal developer intervention. This research highlights the transformative potential of combining LLMs, curated datasets, and automation tools in modern software engineering practices, contributing to the advancement of continuous documentation frameworks. | en_US |
dc.identifier.endpage | 166 | |
dc.identifier.uri | https://tez.yok.gov.tr/UlusalTezMerkezi/undefined | |
dc.identifier.uri | https://hdl.handle.net/20.500.14411/10699 | |
dc.identifier.yoktezid | 936680 | |
dc.language.iso | en | |
dc.subject | Bilgi ve Belge Yönetimi | |
dc.subject | Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol | |
dc.subject | Dokümantasyon ve Enformasyon | |
dc.subject | Makine Öğrenmesi Yöntemleri | |
dc.subject | Sayısal İletişim | |
dc.subject | Sistem Geliştirme | |
dc.subject | Uygulama Yazılımı | |
dc.subject | Information and Records Management | en_US |
dc.subject | Computer Engineering and Computer Science and Control | en_US |
dc.subject | Documentation and Information | en_US |
dc.subject | Machine Learning Methods | en_US |
dc.subject | Digital Communication | en_US |
dc.subject | System Development | en_US |
dc.subject | Application Software | en_US |
dc.title | Uygulama Programlama Arayüzü Dokümantasyonunun Sürekliliğinin Sağlanması | |
dc.title | On Achieving Continuous Application Programing Interface Documentation | en_US |
dc.type | Master Thesis | en_US |
dspace.entity.type | Publication |