B Arasteh, A Fatolahzadeh… - Journal of Software …, 2022 - Wiley Online Library
Reverse engineering is used for extracting and understanding software architecture models from source code when the source code is the only available software product. Software …
B Arasteh - Neural Computing and Applications, 2023 - Springer
Comprehension of the structure of software will facilitate maintaining the software more efficiently. Clustering software modules, as a reverse engineering technique, is assumed to …
JK Chhabra - Computer Languages, Systems & Structures, 2017 - Elsevier
Software remodularization is always a key task in the field of software reengineering. In recent years, search-based optimization techniques have been considered as an effective …
B Arasteh, M Abdi, A Bouyer - Advances in Engineering Software, 2022 - Elsevier
Maintenance is a critical and costly phase of software lifecycle. Understanding the structure of software will make it much easier to maintain the software. Clustering the modules of …
One of expensive stages of the software lifecycle is its maintenance. Software maintenance will be much simpler if its structural models are available. Software module clustering is …
Software module clustering is an unsupervised learning method used to cluster software entities (eg, classes, modules, or files) with similar features. The obtained clusters may be …
When the source code of a software is the only product available, program understanding has a substantial influence on software maintenance costs. The main goal in code …
JK Chhabra - Information and software Technology, 2017 - Elsevier
Context A software system's structure often degrades due to repetitive maintenance. To make a sustainable evolution of such systems, it becomes mandatory to improve their …
The meta-heuristic search algorithms have been widely applied to solve the various science and engineering optimization problems. However, the performance of these algorithms is …