Bilgisayar Mühendisliği
Bu koleksiyon için kalıcı URI
Gözat
Son Başvurular
1 - 3 / 3
-
ÖgeA GNN model with adaptive weights for session-based recommendation systems(ACM, 2024)Session-based recommendation systems aim to model users’ interests based on their sequential interactions to predict the next item in an ongoing session. In this work, we present a novel approach that can be used in session-based recommendations (SBRs). Our goal is to enhance the prediction accuracy of an existing session-based recommendation model, the SR-GNN model, by introducing an adaptive weighting mechanism applied to the graph neural network (GNN) vectors. This mechanism is designed to incorporate various types of side information obtained through different methods during the study. Items are assigned varying degrees of importance within each session as a result of the weighting mechanism. We hypothesize that this adaptive weighting strategy will contribute to more accurate predictions and thus improve the overall performance of SBRs in different scenarios. The adaptive weighting strategy can be utilized to address the cold start problem in SBRs by dynamically adjusting the importance of items in each session, thus providing better recommendations in cold start situations, such as for new users or newly added items. Our experimental evaluations on the Dressipi dataset demonstrate the effectiveness of the proposed approach compared to traditional models in enhancing the user experience and highlighting its potential to optimize the recommendation results in real-world applications.
-
ÖgeTest case prioritization for embedded software(ACM, 2024)Electronic devices used daily contain software, which may have errors due to human factors during coding. Testing is essential before release, especially as software complexity increases with diverse user needs. Testing new features separately and then in combination multiplies test cases. Rerunning all tests after each change is costly. The aim of this study is to develop a test case prioritization method to decrease the time to find software errors in embedded software systems. For this purpose, we extracted the basic features that characterize embedded software systems and tests that run on them. The proposed method calculates prioritization scores for test cases utilizing these characteristics. The test cases will then be arranged in a systematic manner according to their respective scores. This prioritization strategy is designed to minimize error detection time by promptly finding and resolving errors throughout the initial stages of the testing process. The proposed prioritization strategy was tested on an embedded software system, and it was evaluated using the metrics APFD (average percentage of faults detected) and APFDc (APFD with cost). The results indicate that the proposed method based on the attributes of software systems and related tests reduces the time required to find the majority of the errors.
-
ÖgeEvaluating microservices maintainability: a classification system using code metrics and ISO/IEC 250xy standards(ACM, 2024)In the rapidly evolving landscape of software engineering, Microservice Architecture (MSA) has emerged as a pivotal approach, renowned for its modular structure, operational efficiency, scalability, and flexibility. Despite the extensive research on MSA development, and numerous studies dedicated to evaluating the maintainability of object-oriented programs, the focus on the quality of microservice-based systems remains notably limited. This study introduces an innovative model for evaluating the maintainability of microservices, a key element in MSA. Our approach, grounded in code metrics analysis, aligns with the ISO/IEC 250xy standards SQuaRE (System and Software Quality Requirements and Evaluation). It specifically targets testability and modifiability, integral components of maintainability. We carefully chose essential code metrics that precisely encapsulate the varied characteristics of MSA. The model employs clustering algorithms to categorize the quality characteristics of MSA into three distinct groups: low, medium and high. Our project’s primary goal is to identify microservices with low maintainability values. Our methodology was applied to a range of open-source MSA-designed applications, demonstrating its effectiveness and yielding promising outcomes. In our results, we achieved a recall of 83.33% and a precision of 71.43%. This research contributes a novel viewpoint in assessing microservice maintainability and offers a valuable resource for software architects and developers. It aims to improve the overall quality and longevity of software systems within the MSA.