Computer Engineering / Bilgisayar Mühendisliği
Permanent URI for this collectionhttps://hdl.handle.net/11147/10
Browse
5 results
Search Results
Conference Object Citation - WoS: 3Citation - Scopus: 2Heterogeneous Modeling and Testing of Software Product Lines(IEEE, 2021) Belli, Fevzi; Tuğlular, Tuğkan; Ufuktepe, EkincanSoftware product line (SPL) engineering is a widely accepted approach to systematically realizing software reuse in an industrial environment. Feature models, a centerpiece of most SPL engineering techniques, are appropriate to model the variability and the structure of SPLs, but not their behavior. This paper uses the idea to link feature modeling to model-based behavior modeling and to determine the test direction (top-down or bottom-up) based on the variability binding. This heterogeneous modeling enables a holistic system testing for validating both desirable (positive) and undesirable (negative) properties of the SPL and variants. The proposed approach is validated by a non-trivial example and evaluated by comparison.Conference Object Citation - WoS: 4Citation - Scopus: 5Code Change Sniffer: Predicting Future Code Changes With Markov Chain(Institute of Electrical and Electronics Engineers, 2021) Ufuktepe, Ekincan; Tuğlular, TuğkanCode changes are one of the essential processes of software evolution. These changes are performed to fix bugs, improve quality of software, and provide a better user experience. However, such changes made in code could lead to ripple effects that can cause unwanted behavior. To prevent such issues occurring after code changes, code change prediction, change impact analysis techniques are used. The proposed approach uses static call information, forward slicing, and method change information to build a Markov chain, which provides a prediction for code changes in the near future commits. For static call information, we utilized and compared call graph and effect graph. We performed an evaluation on five open-source projects from GitHub that varies between 5K-26K lines of code. To measure the effectiveness of our proposed approach, recall, precision, and f-measure metrics have been used on five open-source projects. The results show that the Markov chain that is based on call graph can have higher precision compared to effect graph. On the other hand, for small number of cases higher recall values are obtained with effect graph compared to call graph. With a Markov chain model based on call graph and effect graph, we can achieve recall values between 98%-100%. © 2021 IEEE.Conference Object Citation - WoS: 8Citation - Scopus: 9A Program Slicing-Based Bayesian Network Model for Change Impact Analysis(Institute of Electrical and Electronics Engineers Inc., 2018) Ufuktepe, Ekincan; Tuğlular, TuğkanChange impact analysis plays an important role in identifying potential affected areas that are caused by changes that are made in a software. Most of the existing change impact analysis techniques are based on architectural design and change history. However, source code-based change impact analysis studies are very few and they have shown higher precision in their results. In this study, a static method-granularity level change impact analysis, that uses program slicing and Bayesian Network technique has been proposed. The technique proposes a directed graph model that also represents the call dependencies between methods. In this study, an open source Java project with 8999 to 9445 lines of code and from 505 to 528 methods have been analyzed through 32 commits it went. Recall and f-measure metrics have been used for evaluation of the precision of the proposed method, where each software commit has been analyzed separately.Conference Object Citation - WoS: 1Citation - Scopus: 5Automation Architecture for Bayesian Network Based Test Case Prioritization and Execution(Institute of Electrical and Electronics Engineers Inc., 2016) Ufuktepe, Ekincan; Tuğlular, TuğkanAn automation architecture for Bayesian Network based test case prioritization is designed for software written in Java programming language following the approach proposed by Mirarab and Tahvildari [2]. The architecture is implemented as an integration of a series of tools and called Bayesian Network based test case prioritization and execution platform. The platform is triggered by a change in the source code, then it collects necessary information to be supplied to Bayesian Network and uses Bayesian Network evaluation results to run high priority unit tests.Conference Object Javascript Kütüphaneleri için Girdi Doğrulama Analizi(CEUR Workshop Proceedings, 2015) Ufuktepe, Ekincan; Tuğlular, TuğkanBugün artık mobil ve web temelli yazılımlar günlük hayatın bir parçası olmuştur. Bu yazılımlar içinde JavaScript kütüphanelerinin kullanımı da son yıllarda önemli artış göstermiştir. Bu kütüphaneler sağladıkları uygulama programlama arayüzleri ile daha ziyade söz verdikleri işlevleri yerine getirmekte ancak beklenmeyen girdilere karşı dayanıklı bir yapı sunamamak-tadır. Bu çalışmada mobil ve web temelli yazılımlarda yoğun olarak kullanılmakta olan beş JavaScript kütüphanesine ait işlevlerin aldığı para-metreler ile kullandıkları global değişkenler üzerinde doğrulama yapıp yap-madıkları analiz edilmiştir. Bunun için bir girdi doğrulama modeli ortaya konmuştur. Bu model üzerinde geliştirilen algoritma ile JavaScript programları için tip analiz yapan TAJS yazılımı genişletilmiş ve beş JavaScript kütüphane-sine uygulanmış ve elde edilen sonuçlar paylaşılmıştır.
