Browsing by Author "Saydemir, Abdullah"
Now showing 1 - 3 of 3
- Results Per Page
- Sort Options
ArticlePublication Metadata only Genetic algorithms and heuristics hybridized for software architecture recovery(Springer, 2023-06-26) Elyasi, Milad; Simitcioğlu, Muhammed Esad; Saydemir, Abdullah; Ekici, Ali; Özener, Okan Örsan; Sözer, Hasan; Industrial Engineering; Computer Science; EKİCİ, Ali; ÖZENER, Okan Örsan; SÖZER, Hasan; Simitcioğlu, Muhammed Esad; Saydemir, Abdullah; Elyasi, MiladLarge scale software systems must be decomposed into modular units to reduce maintenance efforts. Software Architecture Recovery (SAR) approaches have been introduced to analyze dependencies among software modules and automatically cluster them to achieve high modularity. These approaches employ various types of algorithms for clustering software modules. In this paper, we discuss design decisions and variations in existing genetic algorithms devised for SAR. We present a novel hybrid genetic algorithm that introduces three major differences with respect to these algorithms. First, it employs a greedy heuristic algorithm to automatically determine the number of clusters and enrich the initial population that is generated randomly. Second, it uses a different solution representation that facilitates an arithmetic crossover operator. Third, it is hybridized with a heuristic that improves solutions in each iteration. We present an empirical evaluation with seven real systems as experimental objects. We compare the effectiveness of our algorithm with respect to a baseline and state-of-the-art hybrid genetic algorithms. Our algorithm outperforms others in maximizing the modularity of the obtained clusters.Conference paperPublication Metadata only HYGAR: a hybrid genetic algorithm for software architecture recovery(ACM, 2022) Elyasi, Milad; Simitcioğlu, Muhammed Esad; Saydemir, Abdullah; Ekici, Ali; Sözer, Hasan; Industrial Engineering; Computer Science; EKİCİ, Ali; SÖZER, Hasan; Elyasi, Milad; Simitcioğlu, Muhammed Esad; Saydemir, AbdullahGenetic algorithms have been used for clustering modules of a software system in line with the modularity principle. The goal of these algorithms is to recover an architectural view in the form of a modular structural decomposition of the system. We discuss design decisions and variations in existing genetic algorithms devised for this purpose. We introduce HYGAR, a novel hybrid variant of existing algorithms. We apply HYGAR for software architecture recovery of 5 real systems and compare its effectiveness with respect to a baseline and a state-of-the-art hybrid algorithm. Results show that HYGAR outperforms these algorithms in maximizing the modularity of the obtained clustering.Conference paperPublication Metadata only On the use of evolutionary coupling for software architecture recovery(IEEE, 2021) Saydemir, Abdullah; Simitcioğlu, Muhammed Esad; Sözer, Hasan; Computer Science; SÖZER, Hasan; Saydemir, Abdullah; Simitcioğlu, Muhammed EsadSoftware architecture documentation can be partially obtained automatically by means of software architecture recovery tools. These tools mainly cluster software modules to provide a high level structural organization of these modules. They use dependency graphs as input. These graphs reflect various types of coupling among software modules. In this paper, we present an empirical evaluation of using evolutionary coupling as a complementary source of information for software architecture recovery. We use 3 open source projects as subject systems. We derive inter-module dependencies for these systems based on various levels of evolutionary coupling among their modules. We investigate the accuracy of software architecture recovery when input dependency graphs are extended with these additional dependencies. Results show that involving evolutionary coupling in the process can increase the accuracy of architecture recovery by up to 40%.