• Sonuç bulunamadı

Yazılım Mühendisliğinde Büyük Veri Analizi: MEASURE – WEKA

N/A
N/A
Protected

Academic year: 2021

Share "Yazılım Mühendisliğinde Büyük Veri Analizi: MEASURE – WEKA"

Copied!
11
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Yazılım Mühendisliğinde Büyük Veri Analizi:

MEASURE – WEKA

Utku Apaydın1, Selami Bagriyanik2, Adem Karahoca3, Mete Aktaş4, Tolga Ensari5, Sinan Verdi6, Ayşe Tosun7, Hamit Doğan8

1 Bilgi Teknolojileri Bölümü Yüksek Lisans, Bahçeşehir Üniversitesi, İstanbul, Türkiye utku.apaydin@gmail.com

2 Dijital Servisler ve Çözümler Teknoloji Bölümü, Turkcell Teknoloji, İstanbul, Türkiye selami.bagriyanik@turkcell.com.tr

3 Bilgisayar Mühendisliği, Nişantaşı Üniversitesi, İstanbul, Türkiye akarahoca@gmail.com

4Turkgen Yazılım Sanayi ve Ticaret A.Ş., İstanbul, Türkiye mete.aktas@turkgen.com.tr

5Bilgisayar Mühendisliği, İstanbul Üniversitesi-Cerrahpaşa, İstanbul, Türkiye ensari@istanbul.edu.tr

6 Ericsson Araştırma Geliştirme ve Bilişim Hizmetleri A.Ş., İstanbul, Türkiye sinan.verdi@ericsson.com

7Bilgisayar ve Bilişim Fakültesi, İstanbul Teknik Üniversitesi, İstanbul, Türkiye tosunay@itu.edu.tr

8Turkgen Yazılım Sanayi ve Ticaret A.Ş., İstanbul, Türkiye hamitdogan17@gmail.com

Özet. Günümüzde yazılım mühendisliğinin çözmesi beklenen en önemli sorunlardan birisi, zaman baskısı altında kaliteli yazılım ürün ve çözümlerinin hayata geçirilmesi olmaya devam etmektedir. Bu ihtiyaçları karşılamak üzere, yazılım geliştirme yaşam döngüsü içinde üretilen büyük verinin metriklere dönüştürülmesi, ölçülmesi; veri madenciliği ve makine öğrenmesi yöntemleri ile bütünsel olarak gerçek zamanlı veya toplu olarak analiz edilmesine yönelik çalışmalar da hem endüstri hem de akademik dünyada yer bulmaya başlamıştır. Bu çalışma kapsamında, yukarıda sözü edilen yazılım mühendisliği büyük verisinin tek platformda toplanması ve ölçüm metriklerinin oluşturulmasını hedefleyen ITEA girişimlerinden MEASURE platformuna makine öğrenmesi yeteneklerinin kazandırılmasının ilk aşaması gerçekleştirilmiştir. Bu kapsamda, MEASURE platformu ve WEKA makine öğrenmesi yazılımı arasındaki entegrasyon işleminin nasıl gerçekleştirildiği ve WEKA yazılımı ile oluşturulan veri analizi sonuçlarının MEASURE platformuna nasıl aktarıldığı açıklanmıştır. Oluşturulan bu yapı sayesinde gelecek araştırmamız kapsamında olan

(2)

MEASURE platformu üzerindeki veriler kullanılarak oluşturulacak öngörü modellerini destekleyen bir alt yapı elde edilmiştir. Geliştirilen entegrasyonu doğrulamak amacıyla daha önce yapılan bir gereksinim mühendisliği araştırmasında kullanılan eğitsel veriye çeşitli makine öğrenmesi yöntemleri uygulanmış, öngörü performansları karşılaştırılmış ve bir önceki çalışma ile uyumlu olduğu gözlenmiştir.

Anahtar Kelimeler: Yazılım Mühendisliği, Makine Öğrenmesi, Büyük Veri, Yazılım Mimarisi ve Analizleri, Yazılım Hayat Döngüsü, MEASURE platformu, WEKA

Big Data Analysis in Software Engineering: MEASURE –

WEKA Integration

Utku Apaydin1, Selami Bagriyanik2, Adem Karahoca3, Mete Aktas4, Tolga Ensari5, Sinan Verdi6, Ayse Tosun7, Hamit Dogan8

1 Information Technologies Department, Bahcesehir University, Istanbul, Turkey utku.apaydin@gmail.com

2 Digital Services and Solutions Technology Department, Turkcell Technology, Istanbul, Turkey

selami.bagriyanik@turkcell.com.tr

3 Computer Engineering Department, Nisantasi University, İstanbul, Türkiye akarahoca@gmail.com

4Turkgen Yazılım Sanayi ve Ticaret A.Ş., Istanbul, Turkey mete.aktas@turkgen.com.tr

5Computer Engineering Department, Istanbul University-Cerrahpasa, Istanbul, Turkey ensari@istanbul.edu.tr

6 Ericsson Araştırma Geliştirme ve Bilişim Hizmetleri A.Ş., Istanbul, Turkey sinan.verdi@ericsson.com

7Faculty of Computer and Informatics Engineering, Istanbul Technical University, Istanbul, Turkey

tosunay@itu.edu.tr

8Turkgen Yazılım Sanayi ve Ticaret A.Ş., Istanbul, Turkey hamitdogan17@gmail.com

(3)

Abstract. Nowadays, one of the most challenging problems in software development has long been the realization of high-quality software products and solutions under time pressure. In order to meet these needs, capturing metrics from within big data which is generated through software development life cycle and analyzing the data using machine learning / data mining methods started to become popular among companies and research institutions. Within the scope of this study, the first stage of bringing in machine learning capabilities to the MEASURE platform, one of the ITEA initiatives aiming at gathering the above-mentioned software engineering big data in a single platform and creating measurement metrics, has been realized. In this context, the integration process between MEASURE platform and WEKA machine learning software and how data analysis results are transferred to MEASURE platform have been explained. Thanks to this structure, a mechanism that enables the prediction models to be created by using data on the MEASURE platform which is within the scope of our future research, has been obtained. In order to validate the integration, we applied several machine learning algorithms using an educational data obtained from a previous requirement engineering research, compared their accuracy results and observed that the results are in agreement.

Keywords: Software Engineering, Machine Learning, Big Data, Software Architecture and Analytics, Software Development Life Cycle, MEASURE platform, WEKA

1

Giriş

Yazılım mühendisliği, günümüz teknolojisinde üzerinde pek çok çalışma yapılan en geniş çalışma ve araştırma alanlarından biri olarak karşımıza çıkmaktadır. Yakın geçmişteki ilgili literatür incelendiğinde, özellikle makine öğrenmesi ve büyük veri kapsamındaki katkıların artmaya başladığı görülmektedir. Bu bilimsel çalışmaların gerçekleştirilmesi için toplanan bilgilerin temiz ve düzenli bir yapıya sahip olması yapılacak olan çalışmanın başarısını büyük oranda etkilemektedir [2, 14]. Yazılım endüstrisi içinde, Yazılım Geliştirme Hayat Döngüsü (SDLC: Software Development Life Cycle) yönetimi için kullanılan araçlar (Jira, ALM, VersinOne, Polarion vb.) verimlilik artışlarına katkı sağlamıştır [17, 20]. Bu araçlar analiz, test ve geliştirme sırasında yazılım endüstrisi çalışanlarının aktif olarak kullanması sonucu düzenli ve ölçülebilir veriler oluşturmaktadır. Bununla birlikte bu veriler, toplandıkları araçların ihtiyaçları doğrultusunda modellenmiş olmaları nedeniyle üzerlerinde öngörü yapılabilmesi için ihtiyaç duyulan ölçümleme model yapısına dönüştürülmesi gerekmektedir (II. bölümde bu model yapısı açıklanmıştır). İhtiyaç duyulan bu tür dönüşümler sırasında verilerin alanında uzman olan çalışanlar tarafından tutarlı ve tutarsız olarak ayrıştırılması gerekmektedir [3]. Bu çalışma kapsamında, WEKA makine öğrenmesi yazılımının MEASURE platformu ile nasıl entegre edildiği açıklanmaktadır. Gerçekleştirilen entegrasyonun doğrulanması (validasyonu) için, alanında lider büyük ölçekli bir teknoloji ve hizmet sağlayıcı şirketin bünyesinde toplanan veriler ile analist pozisyonundaki çalışanların eğitim ihtiyaçlarını öngören daha önce aynı firmada yapılmış bir çalışmadaki [1] model kullanılmıştır. Oluşturulan

(4)

bu altyapı sayesinde MEASURE [10] projesi kapsamında gerçekleştirilen test otomasyon senaryolarının adımlarının koşturulması sırasında üretilen verileri toplayıp veri analizi yapacak altyapı bu çalışma ile sağlanmıştır. Bu entegrasyon sayesinde daha önce bahsedilen öngörü verilerinin toplanması, uygun model yapısına çevirilerinin gerçekleştirilmesi ve kalitesiz veri gruplarının elenmesini sağlayan bir yapı elde edilmiştir [2]. Literatürdeki konuyla ilgili çalışmalar incelendiğinde, büyük veri işleme aracı olarak kullanılan makine öğrenmesi yöntemleri üzerinde çalışıldığı görülmektedir [4, 5, 6]. Öğrenme tabanlı bu sistemlerle, gelişmeler kaydedilmiştir [7,12,13,16]. Bu sistemlerin özellikle akademik araştırmalarda en yaygın kullanılanlarından biri olan WEKA yazılımı [19] bu çalışmada ana kütüphane olarak kullanılmıştır. Yukarıda bahsedilen temiz ve güvenilir verilerin bir noktada toplama ihtiyacı MEASURE platformunun sağladığı altyapı kullanılarak giderilmiştir. Sonraki bölümlerde, sırası ile WEKA yazılımının tanıtılması, MEASURE platformunun tanıtılması, iki bileşen arasındaki entegrasyon, bu entegrasyon aracılığıyla yapılan öngörülerin MEASURE platformuna kaydedilmesi ve ilerideki araştırma konumuz olan MEASURE platformuna kaydedilen veriler ile öngörülerde bulunmamızı sağlayacak yapının nasıl bir tasarıma sahip olacağını açıklamaktadır.

2

Makine öğrenmesi ve weka

WEKA (Waikato Environment for Knowledge Analysis), gerçek dünya verileriyle makine öğrenmesi tekniklerinin kullanımına olanak sağlayan bir yazılımdır [19]. Bu yazılım makine öğrenmesi, nitelik seçimi, sınıflandırma, kümeleme gibi birçok özelliğe sahiptir [18]. Kütüphane bünyesinde bulunan onlarca makine öğrenmesi tekniğini, öngörü için kullanılacak verileri ARFF (Attribute-Relation File Format) formatındaki dosyalardan okuyarak sahip olduğu Java tabanlı ara yüz aracılığı ile gerçekleştirebilmektedir. ARFF veri formatında (Şekil 1) veri noktaları (data point) kendi arasında sayısal (numeric) ve sembolik (nominal) olmak üzere temel iki sınıfa ayrılmıştır. Bu formatta en sonda yer alan veri özelliği, sınıf (class) olarak isimlendirilir. Kütüphane geçmiş veriler üzerinden eğitilerek, bu eğitim yüzdesel bölme (percentage split) veya çapraz validasyon (crossvalidation) yöntemlerinden biri kullanılarak yapılmaktadır. Böylece daha sonra, sınıf bilgisi verilmemiş veri kümeleri için öngörülerde bulunabilmektedir.

(5)

Şekil 1. ARFF Veri Formatı

İşaret işleme tabanlı, istatistik tabanlı veya makine öğrenmesi tabanlı sistemler sayesinde, akıllı sistemlerin gerçeklenmesi yönünde önemli gelişmeler kaydedilmiştir [1-4]. Bu bağlamda, makina ögrenmesi çalışması için verilerini dijital ortamda taşıyan tüm sistemler için benzer örüntü tanıma işlemleri gerçeklenerek akıllı sistem oluşturularak, gelişmeler sağlanabilir. Literatürde yapılan çalışmalar incelendiğinde, boyut azaltmada kullanılan temel bileşen analizi (principal component analysis), merkez/uzaklık metrik tabanlı k-ortalamalar (k-means), J48(C4.5 tekniğinin Java ile gerçeklenmiş halidir.) versiyonlarına sahip karar ağaçları (decision trees), Bayes olasılık teorisini kullanan Naive Bayes, insan sinir ağını örnek alarak oluşturulan yapay sinir ağları (aritificial neural networks), karar sınırları/hiper düzlemleri arasında sınıflandırma yapan karar destek vektörleri (support vector machines) ve en yakın k adet komşuluk değerine göre sınıflandırma yapan k-en yakın komşuluk (k-nearest neighbour) algoritması, kullanılabilecek makine öğrenmesi yöntemleri olarak karşımıza çıkmaktadır [8, 9, 11, 15]. Bu yöntemlerin hepsi WEKA yazılımı tarafından desteklenmekte ve MEASURE’da kurulan altyapı temiz ve merkezi verilerin bu çalışma kapsamı dışındaki modellerle de öngörü modellerinin kurulmasına olanak sağlamaktadır.

3

Meaure platformu

Bu çalışma kapsamında entegre olunan, öngörüleri ve/veya bu öngörüler için gerekli ölçümleme verilerini saklayan MEASURE platformu, içinde Türkiye konsorsiyumunun da yer aldığı uluslararası bir yazılım Ar-Ge projesidir [10]. MEASURE platformu; verilerin toplanması, bununla ilgili veri toplama zincirlerinin (akışlarının) oluşturulması, gelişim süreçlerinin tanımlanması, kalite araç kutusunun

(6)

oluşturulması ile ön tahmin baraj değerlerinin bilinmesi/tutturulması sayesinde yazılım ve test mühendisliği gelişimi yönüyle bütünsel kalitenin arttırılması için çeşitli yaklaşımların sunulduğu çalışmaları içermektedir. Bu platformun amacı, Avrupa'da yazılım mühendisliği maliyetlerini ve piyasaya sürülme zamanını düşürmenin yanı sıra kaliteyi ve verimliliği arttırmaktır. Platform bu amacını kendisine bağlanan servisleri, dışarı açtığı uygulama programlama arayüzü (API: Application Prgramming Interface) ve jenerik hale getirilmiş veri modellerini kullanarak, Elastic Search ve Kibana [21] üzerinden verileri görselleştirerek sağlayabilmektedir. Dinamik olarak düzenlenebilen rapor paneli sayesinde kullanıcılar platform üzerinde oluşturdukları projeler ile istedikleri veri kümesi üzerinden planlı ya da isteğe bağlı olarak elle raporlar oluşturabilmektedir. MEASURE platformu açıkladığımız özellikleri var olan dokümanlardan [10] görüldüğü kadarıyla, aşağıda gösterilen (Şekil 2) yapı sayesinde gerçekleştirebilmektedir.

Şekil 2. MEASURE platformu

Şekil 2 de belirtildiği gibi MEASURE platformu kendisine sunulan verileri Elastic Search altyapısının sağladığı indexleme yöntemleri ile saklamaktadır. Bu verilerin içeri alınması, MESURE arayüzleri üzerinden ya da platformun açtığı API’lar üzerinden tetiklenebilmektedir. Tetikleme sonrasında verileri MEASURE platformu tanımlanmış olan entegrasyonlar üzerinden almaktadır, dış bir systemin platforma veri göndermesi engellenmiştir. Bu kısıtlar sayesinde aşağıda detaylandırılan adımlardan Analiz etme ve Ölçümleme işlemleri ayrı sistemler üzerinden gerçekleştirilebilmektedir. Jenerik bir yapı kurulması durumunda MEASURE üzerindeki tüm veriler ile tahminleme çalışmaları yapılması mümkündür. Bu çalışma ise bu ihtiyacı gidermek için gerçekleştirilmiştir.

Raporlama; MEASURE rapor paneli üzerindeki çıktılarını Kibana aracılığı ile

oluşturmaktadır.

Veri kaydetme; Platform üzerine kaydedilen tüm ölçümlemeler ElasticSearch

üzerinde tutulmaktadır.

Ölçümleme; Platformun kendi bünyesine jenerik bilgi kaydetmesini sağlayan

yapıdır. Dış dünyadan konu ve içerik bağımsız gerçekleştirilen ölçümleme sonuçların bu yapı ile ElasticSearch üzerine aktarılmaktadır.

Analiz Etme; Platformun üzerindeki verilerin dış dünyadaki herhangi bir sistem

tarafından okunmasını bu veriler üzerinde işlem yapılmasını ve sonuçlarının tekrar MEASURE platformuna aktarılmasını sağlayan yapıdır.

(7)

4

Measure – weka Entegrasyonu

Bu çalışma kapsamında bir önceki bölümde anlatılan Ölçümleme akışına dahil olacak bir entegrasyon gerçekleştirilmiştir. Ölçümleme işlemini gerçekleştirirken WEKA yazılımının üzerinde bulunan makine öğrenmesi algoritmaları kullanılmaktadır. Ölçümleme işlemi sonundaki çıktılar ML Measurement (Şekil 3 de gösterilen Machine Learning Measurement) üzerinden MEASURE platformunda bulunan Elastic Search yapısına kaydedilmektedir. Geliştirilen Analiz aracı WEKA mimarisinde ihtiyaç duyulan ARFF model yapısına dönüştürme işlemini otomatik gerçekleştirmektedir. Ölçümleme yapılacak veri kümeleri ise uygulamanın kendi veri tabanında (Şekil 3 de gösterilen Analysis Tool DB) Şekil 4’te gösterilen varlık-ilişki veri modeline uygun şekilde MYSQL [22] veri tabanında tutulmaktadır.

Şekil 3. MEASURE ara yüzü için yazılım test ve makine öğrenmesi analiz aracı Analiz aracı arka planda bir Apache server üzerinde çalışmakta ve verilere Hibernate kütüphanesini kullanarak erişmektedir. Analiz aracının bir arayüz modülü bulunmamaktadır. Uygulama sadece bir servis sağlayıcı olarak görev yapmaktadır. ARFF dosyalarındaki bilgiler manuel olarak veri ekleme sorgularına çevrilerek veri tabanına kaydedilmektedir. Mevcut durumda analiz aracı 0.1.6 versiyonu ile 3 ayrı algoritmayı desteklemektedir. Bunlar sırası ile J48, Naive Bayes ve Çok katmanlı Algılayıcı (MLP) teknikleridir. Analiz aracı öngörülerini yapabilmek için WEKA yazılımına ihtiyaç duyduğu parametreleri MEASURE ara yüzü aracılığı ile kullanıcılardan alarak iletmektedir.

(8)

MEASURE platformunun sunduğu IDirect Measure interface tanımı sayesinde dışarıda bulunan servisleri çağırabilmektedir. Platformun mimarisinde bulunan kurallar çerçevesinde bu servislere gönderilebilecek olan parametreler ML Measurement paketi içinde bulunan bir XML tanımı ile tanımlanmaktadır. Bu XML tanımı her bir ölçümleme aracı için özel olarak hazırlanmak zorundadır. Platform hazırlanan XML sayesinde ölçümleme aracı üzerinden gönderilebilecek parametreleri ve geriye dönecek sonucun modelini tespit edebilmektedir. Ölçümleme aracı mimari kısıtlardan dolayı veri tabanı bağlantısı gerçekleştirememektedir. Bu ihtiyacı gidermek için Şekil 3'de gösterilen ve daha önceden bahsettiğimiz analiz aracı geliştirilmiştir. Ölçümleme aracı Analiz aracına MEASURE platformu üzerinden istek gönderilmesini ve sonucun alınabilmesini sağlayan bir eklenti görevi görmektedir. MEASURE üzerinden bir ölçümleme aracı tanımlamak için Şekil 5’te gösterilen ara yüz kullanılmaktadır. Şekilde görünen “Scope Properties” bölümü XML üzerinden tanımlanan MEASURE ara yüzünden yollanabilecek parametrelerin dinamik olarak listelendiği bölümdür. Burada parametre değerleri, XML üzerinden mevcut değerleri tanımlanmış olarak veya belirli tanımlanmış değerler üzerinden seçim yapılabilir açılır liste olarak gösterilmektedir. “Base Measure” olarak isimlendirilmiş alan Ölçümleme aracımızın XML üzerinde gösterilen isminin göründüğü alandır. MEASURE platformunda oluşturulan ölçümleme projesine eklenen bu ölçümleme araçları proje içindeki bilgi kaynakları bölümünde listelenmektedir. İstek dahilinde bu ölçümleme araçları planlı olarak çalıştırılabilir. Ölçümleme sonuçları Elastik Search modülüne kaydedilmektedir.

(9)

Ölçümleme araçları üzerinden gerçekleştirilen başarılı çağrıların sonuçları Ölçümleme projesi üzerinde gösterge tablosu üzerinden incelenebilmektedir. Şekil 6’te gösterilen değerler WEKA yazılımı üzerinden örnek diyabet verileri ile çağırılan sırası ile MLP, Naive Bayes ve J48 ölçümlerinin sonuçlarıdır.

Şekil 6. MLP, Naive Bayes ve J48 sınıflandırma sonuçları

Bu çalışma kapsamında diyabet örneği dışında gerçek dünyadan beslenerek yapılan bir öngörü denemesinin sonuçlarını geliştirilen ML Measurement üzerinden tekrar elde edilmiştir. Bu öngörü, denemesi analiz dokümanlarından elde edilen veriler ile çalışanlar üzerinde CFP eğitimi ihtiyacını öngören model esas alınarak gerçekleştirilmiştir [1].

5

Sonuçlar

Bu çalışma kapsamında, tahminleme çalışması yapılmak istenen ilgili yazılım ortamlarından toplanan veriler ile gerçekleştirilen öngörü işlemleri geliştirilen analiz aracı ile yapılabilir duruma getirilmiştir. Elde edilen sonuçlar, MEASURE platformu sayesinde merkezi bir sistem üzerinde saklanıp raporlanabilir durumdadır.

Kurulan yapının beklentiyi karşıladığını teyit etmek için ilgili ortamda gerçekleştirilmiş olan eğitim ihtiyaçlarını öngören çalışma [1] verisi ve bu sonuçları kullanarak aşağıdaki sonuçlar elde edilmiştir. İlgili çalışmadaki sonuçlar aşağıdaki gibidir. Referans aldığımız çalışmanın [1] çıktıları ile bu makalede anlatılan entegrasyon çalışması sonucunda elde edilen çıktılar (Tablo 1) arasında tespit edilen sapmalar WEKA kütüphanesinden [23] kaynaklı sapmalardır, bu sapmaların nedeni her bir weka kurulumunun kendisine ait bir tohum (seed) tanımı bulunması ve bu tanımın model eğitimi sırasında kullanılmasıdır.

Tablo 1. CFP Ontoloji Gösterge seti ve Olası Değerleri ve Entegrasyon Çıktıları

Çalışmamız kapsamında, makine öğrenmesi metotlarından J48, MLP ve Naive Bayes yöntemleriyle Tablo 1’in sağ tarafında gösterilen sonuçlar elde edilmiştir.

(10)

Analiz aracı 4. bölümde bahsedilen özellikleri sayesinde WEKA kütüphanesindeki ML algoritmalarının çalıştırılabilmesi için gerekli ARFF format dönüşümünü Şekil 4’te belirtilen ER yapısı üzerinden gerçekleştirebilmektedir. Ayrıca bu çalışma ile ARFF formatında olmayan verilerin de MEASURE platformundan çekilerek analiz edilmesini sağlayacak alt yapı kurulmuştur.

Gelecek araştırma konusu olarak, çalışmamızın 3. bölümünde aktarılan, MEASURE platformu mimarisi tarafından desteklenen analiz aracının geliştirilmesi planlanmaktadır. Bu aracın amacı, MEASURE platformu üzerinde bulunan SDLC süreçlerine ait daha fazla veri alarak öngörüler elde etmek ve platforma geri beslemek olacaktır. Bu çalışma kapsamında geliştirdiğimiz MEASURE-WEKA entegrasyonu, MEASURE projesinin Türkiye konsorsiyumunun hedefi olan test otomasyon çalışmasının gerçekleştirilmesi için baz teşkil edecektir.

6

Teşekkür

Bu çalışma, TÜBİTAK 1509 programı tarafından (Proje No: 9170039) desteklenmiştir. TÜBİTAK'a, vermiş olduğu desteklerden dolayı teşekkürlerimiz sunarız.

Kaynakça

1. Bagriyanik, S. & Karahoca, A.: Using Data Mining to Identify COSMIC Function Point Measurement Competence. International Journal of Electrical and Computer Engineering. 8, pp. 5253-5259 (2018).

2. Merino J., Caballero I., Rivas B., Serrano M., Piattini M.: A Data Quality in Use model for Big Data. Future Generation Computer Systems, vol. 63, 2016, pp. 123-130 (2015). 3. Bagriyanik S., Karahoca A.: Big Data in Software Engineering: A Systematic Literature

Review, Global Journal of Information Technology, 6 (1), 107-116, (2016).

4. Emilia G. D., Gasbarro D. D., Gaspari A., Emanuela N.: Managing the Uncertainty of Conformity Assessment in Environmental Testing by Machine Learning, 124, 560-567, (2018).

5. Lenz A. R., Pozo A., Vergilio S. R.: Linking Software Testing Results with a Machine Learning Approach, Engineering Applications of Artificial Intelligence, 26, 1631-1640, (2013).

6. Paduraru C., Melemciuc M., Stefanescu A.: A Distributed Implementation Using Apache Spark of a Genetic Algorithm Applied to Test Data Generation, Proc. of the ACM, (2017). 7. Dahab S., Maag S., Bagnato A., Da Silva M. A. A.: A Learning Based Approach for Green

Software Measurements”, Proc. of the Int. Workshop on Measurement and Metrics for Green and Sustainable Software Systems, 13-22, (2016).

8. Zhang D., Tsaij J. P.: Advances in Machine Learning Applications in Software Engineering, IGI Global Pub., USA, (2007).

9. Challagula V. B., Bastani F. B., Yen I., Raymond A. P.: Empirical Assessment of Machine Learning Based Software Defect Prediction Techniques, Int. Journal of Artificial Intelligence, 17 (2), 389-400, (2008).

(11)

11. Srinivasan K., Fisher D.: Machine Learning Approaches to Estimating Software Development Effort, IEEE Transactions on Software Engineering, vol. 21, no. 2, (1995). 12. Zhang D., Tsai J.J.P.: Machine Learning and Software Engineering. Software Quality

Journal 11, 87–119, (2003).

13. Cui L., Yu F. R., Yan Q.: When Big Data Meets Software-Defined Networking: SDN for Big Data and Big Data for SDN. IEEE Network, 30 (1), (2016).

14. Mockus A.: Engineering Big Data Solutions. FOSE 2014 Proceedings of the on Future of Software Engineering, 85-99, (2014).

15. Madhavji N. H., Miranskyy A., Kontogiannis K.: Big Picture of Big Data Software Engineering: With Example Research Challenges. Proc. of the Int. Workshop on Big Data Software Engineering, (2015).

16. Gondra I., Applying machine learning to software fault-proneness prediction, The Journal of Systems and Software 81, 186–195, (2008).

17. Anderson K. M., Embrace the challenges: Software Engineering in a Big Data World, Proc. of the Int. Workshop on Big Data Software Engineering, pp. 19-25, (2015)

18. Frank E., Hall M. A., Witten I. H.: The WEKA Workbench. Online Appendix for Data Mining: Practical Machine Learning Tools and Techniques, Morgan Kaufmann, (2016). 19. Hall M., Frank E., Holmes G., Pfahringer B., Reutemann P., Witten I. H. The WEKA Data

Mining Software: An Update. SIGKDD Explorations, Vol. 11, no. 1 (2009).

20. Subramanian G. H., Zarnich G. E.: An Examination of Some Software Development Effort and Productivity Determinants in ICASE Tool Projects, Journal of Management Information Systems, 12:4, 143-160 (1996).

21. Open Source Search & Analytics · Elasticsearch | Elastic, https://www.elastic.co/ 22. MySQL, https://www.mysql.com/

23. Weka 3 - Data Mining with Open Source Machine Learning Software in Java, https://www.cs.waikato.ac.nz/ml/weka/

Şekil

Şekil 1. ARFF Veri Formatı
Şekil 2. MEASURE platformu
Şekil 3. MEASURE ara yüzü için yazılım test ve makine öğrenmesi analiz aracı Analiz aracı arka planda bir Apache server üzerinde çalışmakta ve verilere Hibernate  kütüphanesini  kullanarak  erişmektedir
Şekil 5. MEASURE Ölçümleme Aracı
+2

Referanslar

Benzer Belgeler

Bu çalışmada, Kaliforniya Üniversitesi, Irvine (UCI) veri kümesi koleksiyonundan alınan Cleveland, Macaristan, İsviçre ve VA Long Beach kalp hastalığı veri kümeleri

(Ghaffarian and Shahriari 2017), yazılım kırılganlık analizi ve keşif alanındaki makine öğrenmesi ve veri madenciliği tekniklerini kullanan birçok farklı

Çevik yönetim süreci imalat sektöründe, genel olarak operasyon süreçlerinin geliĢmesi için yalın üretim ve kaizen kültüründe ve son dönemlerde artan bir

Öğrenme Teknolojileri Öğrenme Asistanı, Sanal Gerçeklik, Yüz yüze, Videokonferans Öğrenmesi, Mobilite, Artırılmış Gerçeklik, Yapay Zeka (YZ), Kişisel ve

frameworks, databases, platforms, development environments, libraries, tools and software testing tools) in Turkish industry..  RQ2: What are the most desired soft

Bu çözümleri uygulamak için, Ethereum Sanal Makinesi üzerinde çalışan bir programlama dili olan Solidity kullanılarak geliştirilen akıllı sözleş-

Bu çalışma kapsamında özellikle ARGE faaliyetleri yürüten ve kurumsal stratejileri gereği tanımlı olan ürün geliştirme süreçlerini kısmen veya tamamen uygu- laması

Tablo 1.. Bu veritabanı 5 farklı projeden toplamda 5371 örneklem içer- mektedir. Verilerin elde edilmesinde popüler açık kaynak kodlu bazı projelerin kodla- rından