An evolutionary approach to identify logical components

•We propose a novel method based on GA (genetic algorithm) to obtain logical components.•We evaluate the effectiveness of the proposed method with three real-world cases. Identifying suitable components during the software design phase is an important way to obtain more maintainable software. Many m...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The Journal of systems and software 2014-10, Vol.96, p.24-50
Hauptverfasser: Hasheminejad, Seyed Mohammad Hossein, Jalili, Saeed
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 50
container_issue
container_start_page 24
container_title The Journal of systems and software
container_volume 96
creator Hasheminejad, Seyed Mohammad Hossein
Jalili, Saeed
description •We propose a novel method based on GA (genetic algorithm) to obtain logical components.•We evaluate the effectiveness of the proposed method with three real-world cases. Identifying suitable components during the software design phase is an important way to obtain more maintainable software. Many methods including Graph Partitioning, Clustering-based, CRUD-based, and FCA-based methods have been proposed to identify components at an early stage of software design. However, most of these methods use classical clustering techniques, which rely on expert judgment. In this paper, we propose a novel method for component identification, called SBLCI (Search-Based Logical Component Identification), which is based on GA (genetic algorithm), and complies with an iterative scheme to obtain logical components. SBLCI identifies logical components of a system from its analysis models using a customized GA, which considers cohesion and coupling metrics as its fitness function, and has four novel guided GA operators based on the cohesive component concept. In addition, SBLCI has an iterative scheme in which it initially identifies high-level components in the first iteration. Then, in the next iterations, it identifies low-level sub-components for each identified component in previous iterations. We evaluated the effectiveness of SBLCI with three real-world cases. Results revealed that SBLCI is a better alternative for identifying logical components and sub-components in comparison with existing component identification methods.
doi_str_mv 10.1016/j.jss.2014.05.033
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_1560133927</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><els_id>S0164121214001228</els_id><sourcerecordid>3423278911</sourcerecordid><originalsourceid>FETCH-LOGICAL-c395t-50ea783aeb6ff5626e761e99c6a03425853a24083692fc0243db72d0fd61ff7d3</originalsourceid><addsrcrecordid>eNp9kE9LxDAQxYMouK5-AG8Fz62TpElaPC2L_2DBi55DNp1oSrepSXfBb2-W9exphuG9mTc_Qm4pVBSovO-rPqWKAa0rEBVwfkYWtFG8pIw152SRNXXuKbskVyn1AKAYsAVRq7HAQxj2sw-jiT-FmaYYjP0q5lD4DsfZu59iCJ_emqGwYTeFMQ_TNblwZkh481eX5OPp8X39Um7enl_Xq01peSvmUgAa1XCDW-mckEyikhTb1koDvGaiEdywGhouW-YssJp3W8U6cJ2kzqmOL8ndaW9O9b3HNOs-7OOYT2oqJFDOW6ayip5UNoaUIjo9Rb_L72gK-shH9zrz0Uc-GoTOfLLn4eTBHP_gMepkPY4WOx_RzroL_h_3L3EmbNQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1560133927</pqid></control><display><type>article</type><title>An evolutionary approach to identify logical components</title><source>Elsevier ScienceDirect Journals</source><creator>Hasheminejad, Seyed Mohammad Hossein ; Jalili, Saeed</creator><creatorcontrib>Hasheminejad, Seyed Mohammad Hossein ; Jalili, Saeed</creatorcontrib><description>•We propose a novel method based on GA (genetic algorithm) to obtain logical components.•We evaluate the effectiveness of the proposed method with three real-world cases. Identifying suitable components during the software design phase is an important way to obtain more maintainable software. Many methods including Graph Partitioning, Clustering-based, CRUD-based, and FCA-based methods have been proposed to identify components at an early stage of software design. However, most of these methods use classical clustering techniques, which rely on expert judgment. In this paper, we propose a novel method for component identification, called SBLCI (Search-Based Logical Component Identification), which is based on GA (genetic algorithm), and complies with an iterative scheme to obtain logical components. SBLCI identifies logical components of a system from its analysis models using a customized GA, which considers cohesion and coupling metrics as its fitness function, and has four novel guided GA operators based on the cohesive component concept. In addition, SBLCI has an iterative scheme in which it initially identifies high-level components in the first iteration. Then, in the next iterations, it identifies low-level sub-components for each identified component in previous iterations. We evaluated the effectiveness of SBLCI with three real-world cases. Results revealed that SBLCI is a better alternative for identifying logical components and sub-components in comparison with existing component identification methods.</description><identifier>ISSN: 0164-1212</identifier><identifier>EISSN: 1873-1228</identifier><identifier>DOI: 10.1016/j.jss.2014.05.033</identifier><identifier>CODEN: JSSODM</identifier><language>eng</language><publisher>New York: Elsevier Inc</publisher><subject>Comparative studies ; Effectiveness studies ; Genetic algorithm ; Genetic algorithms ; Iterative methods ; Logical component identification ; Product design ; Search-based software design ; Software engineering ; Systems design</subject><ispartof>The Journal of systems and software, 2014-10, Vol.96, p.24-50</ispartof><rights>2014 Elsevier Inc.</rights><rights>Copyright Elsevier Sequoia S.A. Oct 2014</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c395t-50ea783aeb6ff5626e761e99c6a03425853a24083692fc0243db72d0fd61ff7d3</citedby><cites>FETCH-LOGICAL-c395t-50ea783aeb6ff5626e761e99c6a03425853a24083692fc0243db72d0fd61ff7d3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://www.sciencedirect.com/science/article/pii/S0164121214001228$$EHTML$$P50$$Gelsevier$$H</linktohtml><link.rule.ids>314,776,780,3537,27901,27902,65534</link.rule.ids></links><search><creatorcontrib>Hasheminejad, Seyed Mohammad Hossein</creatorcontrib><creatorcontrib>Jalili, Saeed</creatorcontrib><title>An evolutionary approach to identify logical components</title><title>The Journal of systems and software</title><description>•We propose a novel method based on GA (genetic algorithm) to obtain logical components.•We evaluate the effectiveness of the proposed method with three real-world cases. Identifying suitable components during the software design phase is an important way to obtain more maintainable software. Many methods including Graph Partitioning, Clustering-based, CRUD-based, and FCA-based methods have been proposed to identify components at an early stage of software design. However, most of these methods use classical clustering techniques, which rely on expert judgment. In this paper, we propose a novel method for component identification, called SBLCI (Search-Based Logical Component Identification), which is based on GA (genetic algorithm), and complies with an iterative scheme to obtain logical components. SBLCI identifies logical components of a system from its analysis models using a customized GA, which considers cohesion and coupling metrics as its fitness function, and has four novel guided GA operators based on the cohesive component concept. In addition, SBLCI has an iterative scheme in which it initially identifies high-level components in the first iteration. Then, in the next iterations, it identifies low-level sub-components for each identified component in previous iterations. We evaluated the effectiveness of SBLCI with three real-world cases. Results revealed that SBLCI is a better alternative for identifying logical components and sub-components in comparison with existing component identification methods.</description><subject>Comparative studies</subject><subject>Effectiveness studies</subject><subject>Genetic algorithm</subject><subject>Genetic algorithms</subject><subject>Iterative methods</subject><subject>Logical component identification</subject><subject>Product design</subject><subject>Search-based software design</subject><subject>Software engineering</subject><subject>Systems design</subject><issn>0164-1212</issn><issn>1873-1228</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2014</creationdate><recordtype>article</recordtype><recordid>eNp9kE9LxDAQxYMouK5-AG8Fz62TpElaPC2L_2DBi55DNp1oSrepSXfBb2-W9exphuG9mTc_Qm4pVBSovO-rPqWKAa0rEBVwfkYWtFG8pIw152SRNXXuKbskVyn1AKAYsAVRq7HAQxj2sw-jiT-FmaYYjP0q5lD4DsfZu59iCJ_emqGwYTeFMQ_TNblwZkh481eX5OPp8X39Um7enl_Xq01peSvmUgAa1XCDW-mckEyikhTb1koDvGaiEdywGhouW-YssJp3W8U6cJ2kzqmOL8ndaW9O9b3HNOs-7OOYT2oqJFDOW6ayip5UNoaUIjo9Rb_L72gK-shH9zrz0Uc-GoTOfLLn4eTBHP_gMepkPY4WOx_RzroL_h_3L3EmbNQ</recordid><startdate>20141001</startdate><enddate>20141001</enddate><creator>Hasheminejad, Seyed Mohammad Hossein</creator><creator>Jalili, Saeed</creator><general>Elsevier Inc</general><general>Elsevier Sequoia S.A</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20141001</creationdate><title>An evolutionary approach to identify logical components</title><author>Hasheminejad, Seyed Mohammad Hossein ; Jalili, Saeed</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c395t-50ea783aeb6ff5626e761e99c6a03425853a24083692fc0243db72d0fd61ff7d3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2014</creationdate><topic>Comparative studies</topic><topic>Effectiveness studies</topic><topic>Genetic algorithm</topic><topic>Genetic algorithms</topic><topic>Iterative methods</topic><topic>Logical component identification</topic><topic>Product design</topic><topic>Search-based software design</topic><topic>Software engineering</topic><topic>Systems design</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Hasheminejad, Seyed Mohammad Hossein</creatorcontrib><creatorcontrib>Jalili, Saeed</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>The Journal of systems and software</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Hasheminejad, Seyed Mohammad Hossein</au><au>Jalili, Saeed</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>An evolutionary approach to identify logical components</atitle><jtitle>The Journal of systems and software</jtitle><date>2014-10-01</date><risdate>2014</risdate><volume>96</volume><spage>24</spage><epage>50</epage><pages>24-50</pages><issn>0164-1212</issn><eissn>1873-1228</eissn><coden>JSSODM</coden><abstract>•We propose a novel method based on GA (genetic algorithm) to obtain logical components.•We evaluate the effectiveness of the proposed method with three real-world cases. Identifying suitable components during the software design phase is an important way to obtain more maintainable software. Many methods including Graph Partitioning, Clustering-based, CRUD-based, and FCA-based methods have been proposed to identify components at an early stage of software design. However, most of these methods use classical clustering techniques, which rely on expert judgment. In this paper, we propose a novel method for component identification, called SBLCI (Search-Based Logical Component Identification), which is based on GA (genetic algorithm), and complies with an iterative scheme to obtain logical components. SBLCI identifies logical components of a system from its analysis models using a customized GA, which considers cohesion and coupling metrics as its fitness function, and has four novel guided GA operators based on the cohesive component concept. In addition, SBLCI has an iterative scheme in which it initially identifies high-level components in the first iteration. Then, in the next iterations, it identifies low-level sub-components for each identified component in previous iterations. We evaluated the effectiveness of SBLCI with three real-world cases. Results revealed that SBLCI is a better alternative for identifying logical components and sub-components in comparison with existing component identification methods.</abstract><cop>New York</cop><pub>Elsevier Inc</pub><doi>10.1016/j.jss.2014.05.033</doi><tpages>27</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0164-1212
ispartof The Journal of systems and software, 2014-10, Vol.96, p.24-50
issn 0164-1212
1873-1228
language eng
recordid cdi_proquest_journals_1560133927
source Elsevier ScienceDirect Journals
subjects Comparative studies
Effectiveness studies
Genetic algorithm
Genetic algorithms
Iterative methods
Logical component identification
Product design
Search-based software design
Software engineering
Systems design
title An evolutionary approach to identify logical components
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-16T00%3A22%3A14IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=An%20evolutionary%20approach%20to%20identify%20logical%20components&rft.jtitle=The%20Journal%20of%20systems%20and%20software&rft.au=Hasheminejad,%20Seyed%20Mohammad%20Hossein&rft.date=2014-10-01&rft.volume=96&rft.spage=24&rft.epage=50&rft.pages=24-50&rft.issn=0164-1212&rft.eissn=1873-1228&rft.coden=JSSODM&rft_id=info:doi/10.1016/j.jss.2014.05.033&rft_dat=%3Cproquest_cross%3E3423278911%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=1560133927&rft_id=info:pmid/&rft_els_id=S0164121214001228&rfr_iscdi=true