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

Files

Collections