Dağıtık Yazılım Geliştirme, farklı konumlarda bulunan bir takımla yazılım geliştirmenin uygulamasıdır. Yazılım versiyonlama süreci, geliştirilen çeşitli yazılım sürümlerinin izlenmesine ve projelerin sürdürülmesine yardımcı olduğu için dağıtık geliştirmede kritik bir öneme sahiptir. Her yeni sürüm geçişinde, geliştirme ekibi, tüm ekip üyelerini ve paydaşları değişiklikler hakkında bilgilendiren ve proje süreçlerinin takip edilmesini sağlayan sürüm notları sunar. Sürüm notları, yeni bir yazılım sürümündeki özellikler, hata düzeltmeleri ve diğer değişiklikler hakkında bilgi içerir. Yeni yazılım sürümleri için sürüm notları oluşturmak ve sürüm geçiş zamanını belirlemek maliyetli olabilir. Literatürde sürüm notlarının oluşturulması hakkında bazı makaleler bulunmasına rağmen otomatik sürümleme hakkında hiçbir çalışma yoktur. Bu bağlamda, bu çalışmanın amacı, gelecekteki çalışmalarda oluşturulması planlanan bir otomatik sürümleme aracının ilk aşaması olarak sürüm notlarındaki geliştirme türlerini tahmin edilmesidir. Sürüm notlarındaki geliştirme türünü sınıflandırmak için popüler bir transformer olan BERT'i kullanılmış ve model kendi açık veri setimizde %86 doğruluk oranı elde etmiştir. Ayrıca, bu çalışmada, ELI5 kütüphanesi kullanarak açıklanabilir yapay zeka bağlamında modelin karar verme sürecine ilişkin fikirler de sunulmuştur.
Sürüm Notu Versiyonlama Açıklanabilir YZ BERT Yazılım Geliştirme
Distributed Software Development is the practice of developing software with a team in different locations. The process of software versioning is crucial in distributed development as it helps in keeping track of the various software versions that are being developed and maintaining projects. In transition of each new version, the development team present release notes that inform all team members and stakeholders are aware of changes and provide tracking project progresses. Release notes consist information about the features, bug fixes, and other changes included in a new software release. Generating release notes and determining the release transition timing for new software versions can be costly. Despite of there are some papers about generating release notes in the literature, there is not any study about automatic versioning. In this context, the aim of this paper is to predict the development types in release notes as the first phase of an automated versioning tool that is planned to be built in future work. We used BERT which is one of the popular transformers to classify developments of release notes and our model has 86% accuracy rate on our own public dataset. Additionally, we presented insights on the model's decision-making process in the context of explainable AI using ELI5 library.
Release note Software Versioning Explainable AI BERT Software Development
Birincil Dil | İngilizce |
---|---|
Konular | Yazılım Mühendisliği (Diğer) |
Bölüm | Makaleler |
Yazarlar | |
Erken Görünüm Tarihi | 31 Aralık 2023 |
Yayımlanma Tarihi | 31 Aralık 2023 |
Gönderilme Tarihi | 18 Ağustos 2023 |
Yayımlandığı Sayı | Yıl 2023 |