Genetic algorithms and heuristics hybridized for software architecture recovery
dc.contributor.author | Elyasi, Milad | |
dc.contributor.author | Simitcioğlu, Muhammed Esad | |
dc.contributor.author | Saydemir, Abdullah | |
dc.contributor.author | Ekici, Ali | |
dc.contributor.author | Özener, Okan Örsan | |
dc.contributor.author | Sözer, Hasan | |
dc.date.accessioned | 2023-08-11T12:37:28Z | |
dc.date.available | 2023-08-11T12:37:28Z | |
dc.date.issued | 2023-06-26 | |
dc.identifier.issn | 0928-8910 | en_US |
dc.identifier.uri | http://hdl.handle.net/10679/8642 | |
dc.identifier.uri | https://link.springer.com/article/10.1007/s10515-023-00384-y | |
dc.description.abstract | Large 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. | en_US |
dc.description.sponsorship | TÜBİTAK | |
dc.language.iso | eng | en_US |
dc.publisher | Springer | en_US |
dc.relation | info:turkey/grantAgreement/TUBITAK/120E488 | |
dc.relation.ispartof | Automated Software Engineering | |
dc.rights | restrictedAccess | |
dc.title | Genetic algorithms and heuristics hybridized for software architecture recovery | en_US |
dc.type | Article | en_US |
dc.peerreviewed | yes | en_US |
dc.publicationstatus | Published | en_US |
dc.contributor.department | Özyeğin University | |
dc.contributor.authorID | (ORCID 0000-0002-9627-4780 & YÖK ID 124801) Ekici, Ali | |
dc.contributor.authorID | (ORCID 0000-0002-9291-1877 & YÖK ID 21945) Özener, Örsan | |
dc.contributor.authorID | (ORCID 0000-0002-2968-4763 & YÖK ID 23178) Sözer, Hasan | |
dc.contributor.ozuauthor | Ekici, Ali | |
dc.contributor.ozuauthor | Özener, Okan Örsan | |
dc.contributor.ozuauthor | Sözer, Hasan | |
dc.identifier.volume | 30 | en_US |
dc.identifier.issue | 2 | en_US |
dc.identifier.wos | WOS:001016798700001 | |
dc.identifier.doi | 10.1007/s10515-023-00384-y | en_US |
dc.subject.keywords | Genetic algorithms | en_US |
dc.subject.keywords | Reverse engineering | en_US |
dc.subject.keywords | Software architecture recovery | en_US |
dc.subject.keywords | Software modularity | en_US |
dc.subject.keywords | Software module clustering | en_US |
dc.identifier.scopus | SCOPUS:2-s2.0-85163341762 | |
dc.contributor.ozugradstudent | Simitcioğlu, Muhammed Esad | |
dc.contributor.ozugradstudent | Saydemir, Abdullah | |
dc.contributor.ozugradstudent | Elyasi, Milad | |
dc.relation.publicationcategory | Article - Institutional Academic Staff, PhD Student and Undergraduate Student |
Files in this item
Files | Size | Format | View |
---|---|---|---|
There are no files associated with this item. |
This item appears in the following Collection(s)
Share this page