Search-Based Approaches for Software Module Clustering Based on Multiple Relationship Factors

Author(s):  
Jimin Hwa ◽  
Shin Yoo ◽  
Yeong-Seok Seo ◽  
Doo-Hwan Bae

Software remodularization seeks to cluster software modules with high cohesion and low coupling: such a structure can help the comprehension and maintenance of complex systems. The modularization quality is usually captured using either structural, semantic, or history-based factors. All existing techniques apply a single factor to the entire system, which raises the following issues. First, a single factor may fail to capture the quality across the entire project: some modules may form semantic bondings, while others may form more structural ones. Second, the user of the technique has to choose a factor without knowing which one would perform the best. To resolve these issues, we propose a multi-factor module clustering, in which module clusters can be formed based on different factors. Our technique not only allows module clusters of different natures, but also relieve users from having to select a single factor. The paper introduces two different search-based formulations of multi-factor remodularization, and compares these against single-factor remodularization using four heterogeneous factors and six open source projects. The evaluation results show that the multi-factor remodularization can produce solutions that are 10.69% closer to the actual modularization adopted by the developers as compared with those produced by single-factor remodularization on average.

2020 ◽  
Vol ahead-of-print (ahead-of-print) ◽  
Author(s):  
Bahman Arasteh ◽  
Razieh Sadegi ◽  
Keyvan Arasteh

PurposeSoftware module clustering is one of the reverse engineering techniques, which is considered to be an effective technique for presenting software architecture and structural information. The objective of clustering software modules is to achieve minimum coupling among different clusters and create maximum cohesion among the modules of each cluster. Finding the best clustering is considered to be a multi-objective N-P hard optimization-problem, and for solving this problem, different meta-heuristic algorithms have been previously proposed. Achieving higher module lustering quality (MQ), obtaining higher success rate for achieving the best clustering quality and improving convergence speed are the main objectives of this study.Design/methodology/approachIn this study, a method (Bölen) is proposed for clustering software modules which combines the two algorithms of shuffled frog leaping and genetic algorithm.FindingsThe results of conducted experiments using traditional data sets confirm that the proposed method outperforms the previous methods in terms of convergence speed, module clustering quality and stability of the results.Originality/valueThe study proposes SFLA_GA algorithm for optimizing software module clustering, implementing SFLA algorithm in a discrete form by two operators of the genetic algorithm and achieving the above-mentioned purposes in this study. The aim is to achieve higher performance of the proposed algorithm in comparison with other algorithms.


2018 ◽  
Vol 1 (1) ◽  
pp. 87-112 ◽  
Author(s):  
Kamal Z. Zamli ◽  
◽  
Abdulrahman Alsewari ◽  
Bestoun S. Ahmed ◽  
◽  
...  

Author(s):  
TETSUO ICHIMORI

This paper treats an allocation problem of discrete testing resources in module testing where software modules are tested independently. The total amount of discrete testing resources is given beforehand. When an allocation is determined in module testing, each software module defines the share per size. Since discrete resources do not allow each software module to get an equal share per size, there exists a dispersion. The aim of this paper is to find an allocation minimizing the variance of this dispersion.


2020 ◽  
pp. 53-108
Author(s):  
Christian Schlegel ◽  
Alex Lotz ◽  
Matthias Lutz ◽  
Dennis Stampfer

AbstractSuccessful engineering principles for building software systems rely on the separation of concerns for mastering complexity. However, just working on different concerns of a system in a collaborative way is not good enough for economically feasible tailored solutions. A successful approach for this is the composition of complex systems out of commodity building blocks. These come as is and can be represented as blocks with ports via data sheets. Data sheets are models and allow a proper selection and configuration as well as the prediction of the behavior of a building block in a specific context. This chapter explains how model-driven approaches can be used to support separation of roles and composition for robotics software systems. The models, open-source tools, open-source robotics software components and fully deployable robotics software systems shape a robotics software ecosystem.


2013 ◽  
Vol 416-417 ◽  
pp. 1336-1340
Author(s):  
Dong Tao Ma

For application requirements of smart multimedia system, the paper design and implements system application framework and describes the function of each software module in the whole system. After description of the overall framework,paper analyze detailed implementation of several key software modules,that is supports SD and HD video signal, video capture module, object intrusion alarm motion detection module, audio and video multimedia processing synchronization mechanism, and web-based remote control module. And the article describes the main features of the DaVinci technology and DaVinci technology platform development, elaborated the DSP6467 DaVinci platform hardware structure which used in this paper.


Sign in / Sign up

Export Citation Format

Share Document