UYMS 2020: ULUSAL YAZıLıM MüHENDISLIğI SEMPOZYUMU 2020 (TURKISH NATIONAL SOFTWARE ENGINEERING SYMPOSIUM 2020)
PROGRAM FOR WEDNESDAY, OCTOBER 7TH
Days:
next day
all days

View: session overviewtalk overview

09:45-10:45 Session 1: Davetli Konuşma
09:45
Davetli Konuşma: Bilgisayar Bilimlerinde Takip ve Taklit Yerine Önder Olma Yöntemi ve Faydaları

ABSTRACT. “Dünyaya farklı bakamayanlar, sadece giderek artan farkı seyreder. …Hayallerini zorlamayanlar, hayallerinin peşinde koşmayanlar sadece kendi nesillerini geride bırakmakla kalmazlar, yeni nesillerin de geleceğini karartırlar.” Semih Çetin,  Linkedin’ den alıntı.

Bilgisayar teknolojilerinin hızla geliştiği bilinen bir gerçek.  Bu bilim dalında, son 40 yılda birçok teknolojinin sanki bir nihai çözüm olarak sunulduğunu defalarca gördük. Akademisyenler, stratejik hedefleri belirleyenler ve teknolojiye yatırım yapanların, her yeni teknoloji önerisi karşısında genelde reaksiyonist, takipçi ve taklitçi bir yöntem uyguladıklarını görüyoruz. Örneğin Akıllı Şehirler stratejileri belirlenirken önce dünyadaki gerçekleştirilmiş akıllı şehir çözümleri tek tek incelenir, sonra bu sistemlerin ortak nitelikleri ortaya çıkartılarak bir strateji belirlenir. Bu aşamadan sonra bir koşuşturma baslar; akademisyenler, sivil toplum örgütleri, belediyeler, bu bulgulara göre ortaya atılır, konferanslar düzenlenir, öğrenciler tam tez yazmaya başlayıp, yayınlar yapılmaya çalışırken bir bakılır ki yeni kavramlar ortaya atılmış, yapılan çalışmalar yerini yeni teknolojilere bırakmaya başlamış. Bu gelişmeler karşısında yeni bir reaksiyonist süreç başlar, bilimsel çalışmalardan istenilen sonuç alınmaz ve verilen uğraşılar bir türlü ekonomik değere dönüşmez.

Aslında sadece ülkemizde değil dünyada da birçok kuruluş tarafından sıklıkla uygulanan bu yöntem geçmişin analizi açısından bir anlamı olsa da geleceğin stratejisini tayin etmek için sakıncalıdır. Örneğin mevcut akıllı şehir çözümleri 1990 - 2000 yıllarında tespit edilen problemler dikkate alınarak geliştirilmiştir. Gelecekteki bilimsel araştırmaların temelini mevcut çözümlerdeki ortak özellikler değil aksine onlarda tespit edilen problemler ve beklenen temel teknolojik gelişmeler tanımlamalıdır. Önder olmak için, aşağıda tamamlanan 3 aşamanın hayati önemi vardır.

Başlangıç noktası mevcut ve olası problemlerin taklitçi olmayan özgün bir çalışma ile anlaşılmasıdır. Gerek akademisyenlerin gerekse yüksek teknoloji firmaların elde etmesi gereken en önemli yeteneklerinden biri budur. Problem tanımı sadece fonksiyonel anlamda değil, arzu edilen kalite değerlerini kapsayacak şekilde, ekonomik ve sürdürülebilirlik açılarından da ele alınmalıdır. İkinci aşamada problemler ayrıştırılmalı ve mümkün olduğu kadar bilinen temel problemlere indirgenmelidir. Üçüncü aşama ise teknolojik gelecek tahmini ile birlikte, temel çözüm yöntemlerinin özgün bir şekilde bir araya getirilmesi ve bunun bilimsel çalışmalara yansımasını içerir.

Bu konuşmada, yukarıda öngörülen yöntem, nesneye dayalı programlama,  modele-dayalı mühendislik, ürün-hatları mühendisliği ve akıllı şehirlerden örnekler vererek açıklanacaktır. Tarihsel süreçte, ortaya atılmış teknolojiler incelenecek, beklentiler, problemler ve fırsatlar çerçevesinde gelecek ile ilgili olarak önerilerde bulunulacaktır.

11:00-12:00 Session 2A: Mikroservisler
Chair:
11:00
Şablon Tabanlı Mikroservis Üretim Gereci

ABSTRACT. Mikroservisler kurumsal alanda hızlı bir şekilde popüler olmaları bakımından yazılım mühendisliği alanında halen dikkat çekici bir pozisyondadır. Getirdiği avantajların yanında geliştirilmeleri ve yönetilmeleri konusunda birtakım dezavantajlar da sözkonusu olabilmektedir. Özellikle çok sayıda mikroservisin geliştirildiği büyük kurumlarda, mikroservis dönüşümünden bir süre sonra geliştiricilerin çok ciddi sıkıntılar ile karşı karşıya kalmaları mümkündür. Bu sorunların önemli bir bölümü mikroservis geliştirilmesi süreçlerinde kurum içi standartların ve temel yapıların geliştiricilerin insiyatifine bağlı olması, herhangi bir araç ile desteklenmemesidir. Bu çalışmada, büyük kuruluş ölçeğinde mikroservislerin disiplin altında geliştirilmesini ve yönetilmesini sağlayan şablon tabanlı bir mikroservis üretim gereci geliştirilmiştir. Geliştirilen üreteç sayesinde kurum içinde geliştirilmekte olan mikroservislerin tüm geliştiriciler tarafından kullanılabilmesi, ve birçok potansiyel hatanın ortadan kaldırılması hedeflenmiştir. Geliştiricilerden alınan ön izlenimler oldukça olumlu değerlendirilmiş olup kurum içi sistemin kullanımı başlamıştır

11:30
Mikroservis Mimarisinde Analiz ve Tasarım: Türkiye’den Bir İnceleme

ABSTRACT. Günümüzde esnek, güvenilir ve duyarlı (responsive) yazılımlara olan talebin artması ve bu talebe karşılık verebilen internet altyapısının olması yeni nesil bulut uygulamalarının gelişmesine öncülük etmektedir. Bunun sonucunda, bulut tabanlı dağıtık web uygulamalarının birlikte çalışarak oluşturduğu mikroservis tabanlı mimari popülerlik kazanmıştır. Mikroservis tabanlı mimari oldukça yeni olup bu mimariyi kullanarak yazılım geliştiren firmaların kültürlerini değiştirme gerekliliği doğmuştur. Ancak, literatürde mikroservis tabanlı mimaride analiz ve tasarım konusunda uygulanan yöntemleri ele alan çalışma sayısı çok azdır. Bu çalışmada, Türkiye’deki yazılım organizasyonlarının mikroservis tabanlı proje geliştirirken başvurdukları analiz ve tasarım yöntemlerini ele alan bir anket düzenlenmiştir. Anket sonuçları, mikroservis tabanlı proje konusunda tecrübesi olan yazılım organizasyonlarının analiz ve tasarım konusundaki bakış açılarını ortaya çıkarmaktadır. Elde edilen sonuçlar mikroservis kullanan organizasyonlar ile ilgili genel tabloyu göstermekte ve araştırmacılar için çalışma yapılabilecek konuları önermektedir.

11:00-12:00 Session 2B: YTM-1
11:00
Models in Graphical User Interface Testing: Study Design

ABSTRACT. Model-based GUI testing is an important concept in Software GUI testing. Manual testing is a time-consuming labor and heavily error-prone. It has several well-accepted models that Software Testing community has been working and contributing to them for many years. This paper reviews different models used in model-based GUI testing and presents a case study with a proposed approach for how to convert several well-accepted models to ESG (Event Sequence Graphs) to generate test cases and execute them with an aim to consolidate past and future works in a single model.

11:30
Mutation Operators for Decision Table-Based Contracts Used in Software Testing

ABSTRACT. The Design by Contract technique allows developers to improve source code with contracts, and testing using contracts helps to identify faults and eliminate them. However, the source code of the program under test is not always available. With black-box testing, it is possible to generate contracts from specifications of the software. In this paper, we apply mutation analysis on a model of a given specifications, where mutants are initially gained by applying proposed in this paper certain mutation operators on corresponding model, and then mutated specifications are examined.

13:00-14:30 Session 3A: Yazılım Sınama ve Yazılım Süreçleri
13:00
Crafting a CMMI V2 Compliant Process for Governance Practice Area: An Experiential Proposal

ABSTRACT. Noteworthy amount of systems and software development organizations deal with the Capability Maturity Model Integration (CMMI) for enhancements concerning relevant processes, performance, and products. Besides, lately, the CMMI Institute released the new version (V2) of the CMMI. CMMI V2 includes some new practice areas and the governance is one of the most chief practice areas owing to that it is a must for every other practice area and benchmark level ratings. In this paper, the author proposes an experiential craft process for the governance practice area. Explicitly, the author presents all-inclusive particulars concerning the process definition, process performance indicator, process inputs and outputs, process activities flow, governance meeting presentation template, governance minutes of meetings, and governance action items log. The author modestly thinks these specifics are going to be beneficial for organizations in defining and refining their own governance business processes and relevant assets to not only become compliant with CMMI V2, but also conspicuously reduce the cost of process implementations, to notably increase the likelihood of meeting objectives, and to firmly guarantee that the implemented processes support and contribute to the business success.

13:30
Test Software For National Satellite On-Board Computer

ABSTRACT. As well as the private sector, government organizations, and military units use satellite systems strategically. The on-board computer is one of the essential components of a satellite system. It is costly and challenging to encounter hardware errors in an on-board computer after launch. STM Defense Technologies Engineering Inc. has developed a low cost, high-performance national on-board computer for satellites. In this study, we described a test software designed for MICROSATPRO, the national on-board computer. MICROSATPRO performs tests through this software during the space-mission where it is an experimental load. The purpose of the software is to detect the hardware errors that may occur in the electronics on the compelling environmental conditions and to eliminate these errors if possible.

14:00
Model Bazlı Test Yöntemiyle Açık Bankacılık Ödeme Sisteminin Testi

ABSTRACT. Model Bazlı Test (MBT), yazılım testlerinde yaygın olarak kullanılan bir yaklaşımdır. Modeller test edilen sistemin işlevselliğini ve davranışını açıklar. Bu nedenle geliştirilen model etkili test senaryolarının oluşturulmasını kolaylaştırır. Bu çalışmada, bir MBT aracı olan GraphWalker kullanılarak Açık API tabanlı bir ödeme sisteminin test sürecinde nasıl kullanıldığı anlatılmaktadır.

13:00-14:30 Session 3B: YTM-2
13:00
Mesaj-Güdümlü Test Senaryosu Üreten Çerçeve

ABSTRACT. Yazılım testi manuel veya otomatik olmak üzere iki şekilde gerçekleştirilmektedir. Fonksiyonel doğruluk için gerçekleştirilen tekrarlı manuel testleri, özellikle borsalardaki işlem sistemleri, bankacılık uygulamaları gibi istemci-sunucu mimarisine dayalı büyük ölçekli kurumsal iş uygulamalarında yapabilmek epey zordur. Çünkü bu tür sistemleri test etmek için binlerce farklı test senaryosuna ihtiyaç vardır. Bu test senaryolarını belirli bir zaman içerisinde manuel ve insan bazlı yürütmek zaman alıcı, hatalı sonuçlara açık ve sıkıcı bir süreçtir. Bu nedenle tekrarlanan manuel testlerde, test senaryosu üretiminden, yürütülmesine ve hata raporlarmasına kadar geçen sürecin uçtan uca otomatize edilmesi yazılım testinde verimliliği artıracaktır. Bu kapsamda, bu çalışmada Uygulama Programı Arayüzü (Application Programming Interface - API) mesajlarını kullanarak birbiriyle iletişim halinde olan istemci-sunucu mimarisine sahip uygulamalar için test senaryolarının otomatik bir şekilde üretilmesini sağlayan bir yaklaşım önerilmektedir. Bu bildiride, ağ üzerinde birbiriyle API mesajlarını kullanarak iletişim halinde olan istemci-sunucu uygulamaları arasındaki veri paketleri yakalanarak elde edilen ağ log dosyasından, tersine mühendislik yöntemi ile test senaryolarının otomatik olarak oluşturulmasını sağlayan bir çerçeve sunulmaktadır. Bu çalışmanın motivasyonu, iletişim olarak API mesajlarını kullanan finansal uygulamalar, borsalardaki işlem sistemleri gibi istemcisunucu mimarisine sahip uygulamalara yönelik regresyon testi otomasyonu çerçevesi azlığından kaynaklanmaktadır. Bu bildiride önerdiğimiz test senaryosu üretimi yapan çerçevenin etkinliğini değerlendirmek için finansal bir sisteme uyguladık. Yaklaşımımız test senaryolarının tekrar kullanımını sağlamakla birlikte, gelecek çalışma ile birlikte test senaryolarının otomatik olarak üretilmesinden, yürütülmesine kadar geçen test sürecinde %100 otomasyonu sağlayacaktır.

13:30
Jira ve Bugzilla Araçlarında Yinelenen Hata Raporlarının Tespit Edilmesi
PRESENTER: Çiğdem Aldan

ABSTRACT. Hata raporlarının aynı ya da bir başka kişi tarafından tekrar raporlanması yinelenen hata olarak tanımlanmaktadır. Bugzilla ve Jira dünya çapında en çok kullanılan hata yönetim araçlarındandır. Her iki aracın da otomatik yinelenen hatayı gösterme özelliği açısından değerlendirildiğinde, Jira’nın Find Duplicates eklentisi ile beraber kullanımının Bugzilla’ya kıyasla daha iyi olduğu tespit edilmiştir.

14:45-16:15 Session 4A: Yazılım Uygulamaları - I
Chair:
14:45
RedCon: An Open Source Tool for Remote Access to an Electronic Board

ABSTRACT. Increased connectivity has ramped up ability of working from remote locations; people from all over the world can work on the same software project making use of online collaboration tools. Covid-19 pandemic has brought conditions in which organizations that have remote working capabilities become advantageous. Many software engineers continued working under quarantine; the ability of working from home has made it possible. But still embedded software development has its own challenges to overcome on working from remote locations like the need of easy access and remote control of electronic board setups. To address these challenges, we propose RedCon; an open source tool which enables users to access their electronic boards remotely through internet. RedCon is deployed to a host computer which is connected to target board to be remotely accessed. A host may even be a single board computer, giving users the chance of having a cost-effective remote access solution. A user can forward traffic within target board virtual LAN, access serial interface, control USB memory device and power cycle target board through a web-based GUI with user authentication which runs on a web server on the host. Host acts as a gateway between target board and the network it is connected to. User needs to access to network to which host is connected. A very common scenario would be RedCon to be deployed at a host which is at office. Thus, host is connected to office network and a remote user accesses to office network by VPN and can access target board by using RedCon.

15:15
Parameter Based Abstraction For a Modular Software

ABSTRACT. Main idea of modular software is to define the interfaces of each software component clearly and design the system flow through these interfaces. As long as these interface definitions remain unchanged, a modification in a component would not affect one another. However; in a system evolving with changing user requirements and hardware, it is impossible to avoid changes in the requirements of software components. This article focuses on parameter based abstraction approach, which aims to minimalize the amount of change in software components and interfaces in such systems. Primary philosophy of this approach is to abstract characteristic variables used system-wide as parameters and express the inter-component interaction as parameter updates instead of function calls.

15:45
Delivering Machine Learning Applications via Cloud Platforms: An Experience Report

ABSTRACT. Cloud technologies enable developers and organizations to focus on their product, without having to consider issues such as local server capacity, infrastructure modifications, data security, licensing or human capital. This paper attempts to explain a case in which a Machine Learning application is deployed via Amazon Web Services (AWS) tools. In doing so, it demonstrates the reasoning behind choosing a cloud-based environment instead of an on-premise sources, by putting forward the advantages of the former. On the other hand, it should be noted that the application in this experience is generated with a hybrid approach: It is developed using on-premise infrastructure and then moved to the Cloud environment for the deployment phase only. In this regard, it can be read as a PaaS experience. This study is considered to be a beneficial guide for entrepreneurs and start-ups on a budget who aim at launching their products in a swift and scalable manner.

14:45-16:15 Session 4B: Yazılım Geliştirme
14:45
OSEK/VDX Uyumlu Katı Gerçek-Zamanlı İşletim Sistemleri için Zamanlama Mimarilerinin Değerlendirilmesi

ABSTRACT. Gelişen teknoloji ile araçların performansının artırılması, güvenlikten ödün vermeden yeni işlevler eklemek açısından önemlidir. İşlevselliği sağlamak için kullanılan yongalar ECU tasarımının ilk adımında belirlenir. Bu karar projenin kalan kısmını etkileyecektir. Donanım, yazılım tasarımı ve bunların testi otomotiv endüstrisinde uzun bir süreçtir. Bir ECU sahada kullanılmaya başladığında donanım tasarımını değiştirmek zordur. Bu nedenlerden dolayı, çip seçimi maliyeti ve müşterinin istediği işlevselliği etkiler. İşlevselliği sağlayan görevler performans ve güvenlik arasında bir denge sağlar. Bu çalışmada bu konular OSEK / VDX sertifikalı işletim sistemleri üzerinde değerlendirildi ve zamanlama algoritmaları için bazı sonuçlar sunuldu.

15:15
Yazılım Kalitesinde Kişisel Özelliklerin Etkisi

ABSTRACT. Yazılım geliştirme insan odaklı bir süreçtir. İnsan problemlerinin çözümüne yönelik olarak tasarlanan uygulamalar, yine insanlar tarafından hayata geçirilir. Bu sebepten ortaya çıkan yazılım ürününün kalitesini incelerken, kişilerin bireysel özelliklerini dikkate almamak, yapılan araştırmanın eksik kalmasına yol açacaktır. Biz çalışmamızda, literatürdeki insan etkisi araştırmalarında incelenen faktörlerden yola çıkarak, yazılım kalitesi ve karakter özellikleri arasındaki ilişkiyi ortaya koymayı hedeflemekteyiz. Bu bildiri yazısı yürütmekte olduğumuz çalışma için bir yol haritası niteliğindedir. Araştırmamızda öğrenciler tarafından gerçekleştirilecek uygulamaların kalite metrikleri analiz edilecektir. Katılımcıların karakter özellikleri belirlecek ve geliştirdikleri uygulamaya ne ölçüde etki ettiğine dair çıkarımlar yapılacaktır.