{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,5]],"date-time":"2025-12-05T23:31:18Z","timestamp":1764977478611,"version":"3.46.0"},"reference-count":42,"publisher":"Walter de Gruyter GmbH","issue":"5","license":[{"start":{"date-parts":[[2017,10,12]],"date-time":"2017-10-12T00:00:00Z","timestamp":1507766400000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019,9,25]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>Nowadays, component identification is one of the main challenges of software analysis and design. The component identification process aims at clustering classes into components and subcomponents. There are a number of methods to identify components in the literature; however, most of them cannot be customized to software architect\u2019s preferences. To address this limitation, in this paper, we propose a preference-based method by the name of preference-based component identification using particle swarm optimization (PCI-PSO) to identify logical components. PCI-PSO provides a novel method to handle the software architect\u2019s preferences using an interactive (i.e. human in the loop) search. PCI-PSO employs a customized PSO to automatically classify classes into suitable logical components and avoid the problem of identifying the proper number of components. We evaluated the effectiveness of PCI-PSO with four real-world cases. Results revealed that PCI-PSO has an ability to identify more cohesive and independent components with respect to the software architect\u2019s preferences in comparison to the existing component identification methods.<\/jats:p>","DOI":"10.1515\/jisys-2017-0244","type":"journal-article","created":{"date-parts":[[2017,10,12]],"date-time":"2017-10-12T06:01:05Z","timestamp":1507788065000},"page":"733-748","source":"Crossref","is-referenced-by-count":3,"title":["PCI-PSO: Preference-Based Component Identification Using Particle Swarm Optimization"],"prefix":"10.1515","volume":"28","author":[{"given":"Seyed Mohammad Hossein","family":"Hasheminejad","sequence":"first","affiliation":[{"name":"Department of Computer Engineering , Alzahra University , Tehran , Iran"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shabnam","family":"Gholamshahi","sequence":"additional","affiliation":[{"name":"Department of Computer Engineering , Alzahra University , Tehran , Iran"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"374","published-online":{"date-parts":[[2017,10,12]]},"reference":[{"key":"2025120523294078610_j_jisys-2017-0244_ref_001_w2aab3b7c10b1b6b1ab1b6b1Aa","unstructured":"M. Ahmadzadeh, G. Shahmohammadi and M. Shayesteh, Identification of software systems components using a self-organizing map competitive artificial neural network based on cohesion and coupling, ANDRIAS J.40 (2016), 60\u201371."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_002_w2aab3b7c10b1b6b1ab1b6b2Aa","unstructured":"AIS case, Available at: http:\/\/www.aiiri.gov.ir\/HomePage.aspx?TabID=1&Site=aiiriPortal&Lang=en-US, Accessed 2016 Aug."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_003_w2aab3b7c10b1b6b1ab1b6b3Aa","doi-asserted-by":"crossref","unstructured":"A. Albani, S. Overhage and D. Birkmeier, Towards a systematic method for identifying business components, in: International Symposium on Component-Based Software Engineering, pp. 262\u2013277, Springer, Berlin\/Heidelberg, 2008.","DOI":"10.1007\/978-3-540-87891-9_17"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_004_w2aab3b7c10b1b6b1ab1b6b4Aa","doi-asserted-by":"crossref","unstructured":"A. Alfi and M. M. Fateh, Intelligent identification and control using improved fuzzy particle swarm optimization, Expert Syst. Appl.38 (2011), 12312\u201312317.10.1016\/j.eswa.2011.04.009","DOI":"10.1016\/j.eswa.2011.04.009"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_005_w2aab3b7c10b1b6b1ab1b6b5Aa","doi-asserted-by":"crossref","unstructured":"A. Alfi and H. Modares, System identification and control using adaptive particle swarm optimization, Appl. Math. Modell.35 (2011), 1210\u20131221.10.1016\/j.apm.2010.08.008","DOI":"10.1016\/j.apm.2010.08.008"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_006_w2aab3b7c10b1b6b1ab1b6b6Aa","doi-asserted-by":"crossref","unstructured":"K. Ameli, A. Alfi and M. Aghaebrahimi, A fuzzy discrete harmony search algorithm applied to annual cost reduction in radial distribution systems, Eng. Optim.48 (2016), 1529\u20131549.10.1080\/0305215X.2015.1120299","DOI":"10.1080\/0305215X.2015.1120299"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_007_w2aab3b7c10b1b6b1ab1b6b7Aa","doi-asserted-by":"crossref","unstructured":"D. Birkmeier and S. Overhage, On component identification approaches \u2013 classification, state of the art, and comparison, in: International Symposium on Component-Based Software Engineering, pp. 1\u201318, Springer, Berlin\/Heidelberg, 2009.","DOI":"10.1007\/978-3-642-02414-6_1"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_008_w2aab3b7c10b1b6b1ab1b6b8Aa","doi-asserted-by":"crossref","unstructured":"D. Q. Birkmeier and S. Overhage, A method to support a reflective derivation of business components from conceptual models, Inf. Syst. e-Bus. Manag.11 (2013), 403\u2013435.10.1007\/s10257-012-0196-6","DOI":"10.1007\/s10257-012-0196-6"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_009_w2aab3b7c10b1b6b1ab1b6b9Aa","doi-asserted-by":"crossref","unstructured":"Z.-g. Cai, X.-h. Yang, X.-y. Wang and A. Kavs, A fuzzy-based approach for business component identification, J. Zhejiang Univ.-Sci. C (Comput. Electron.) 12 (2011), 707\u2013720.10.1631\/jzus.C1000337","DOI":"10.1631\/jzus.C1000337"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_010_w2aab3b7c10b1b6b1ab1b6c10Aa","doi-asserted-by":"crossref","unstructured":"A. Chihada, S. Jalili, S. M. H. Hasheminejad and M. H. Zangooei, Source code and design conformance, design pattern detection from source code by classification approach, Appl. Soft Comput.26 (2015), 357\u2013367.10.1016\/j.asoc.2014.10.027","DOI":"10.1016\/j.asoc.2014.10.027"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_011_w2aab3b7c10b1b6b1ab1b6c11Aa","doi-asserted-by":"crossref","unstructured":"J. F. Cui and H. S. Chae, Applying agglomerative hierarchical clustering algorithms to component identification for legacy systems, Inf. Softw. Technol.53 (2011), 601\u2013614.10.1016\/j.infsof.2011.01.006","DOI":"10.1016\/j.infsof.2011.01.006"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_012_w2aab3b7c10b1b6b1ab1b6c12Aa","doi-asserted-by":"crossref","unstructured":"D. L. Davies and D. W. Bouldin, A cluster separation measure, IEEE Trans. Pattern Anal. Mach. Intell.2 (1979), 224\u2013227.","DOI":"10.1109\/TPAMI.1979.4766909"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_013_w2aab3b7c10b1b6b1ab1b6c13Aa","doi-asserted-by":"crossref","unstructured":"R. Ganesan and S. Sengupta, O2BC: a technique for the design of component-based applications, in: Technology of Object-Oriented Languages and Systems, 2001, TOOLS 39, 39th International Conference and Exhibition on, pp. 46\u201355, IEEE, Santa Barbara, CA, USA, 2001.","DOI":"10.1109\/TOOLS.2001.941658"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_014_w2aab3b7c10b1b6b1ab1b6c14Aa","unstructured":"HACS case, Available at: http:\/\/www.coursehero.com\/file\/3666313\/HACSFINAL\/, Accessed 2016 Aug."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_015_w2aab3b7c10b1b6b1ab1b6c15Aa","doi-asserted-by":"crossref","unstructured":"H. S. Hamza, A framework for identifying reusable software components using formal concept analysis, in: Information Technology: New Generations, 2009, ITNG\u201909, 6th International Conference on, pp. 813\u2013818, IEEE, Las Vegas, NV, USA, 2009.","DOI":"10.1109\/ITNG.2009.276"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_016_w2aab3b7c10b1b6b1ab1b6c16Aa","unstructured":"H. Hashemi, G. Shahmohammadi and M. Shayesteh, Detection system software components using a hybrid algorithm, ANDRIAS J.40 (2015), 57\u201363."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_017_w2aab3b7c10b1b6b1ab1b6c17Aa","doi-asserted-by":"crossref","unstructured":"S. H. A. Hasheminejad and S. M. H. Hasheminejad, Traffic accident severity prediction using a novel multi-objective genetic algorithm, Int. J. Crashworthiness22 (2017), 425\u2013440.10.1080\/13588265.2016.1275431","DOI":"10.1080\/13588265.2016.1275431"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_018_w2aab3b7c10b1b6b1ab1b6c18Aa","doi-asserted-by":"crossref","unstructured":"S. M. H. Hasheminejad and S. Jalili, Selecting proper security patterns using text classification: in: Computational Intelligence and Software Engineering, 2009, CiSE 2009, International Conference on, pp. 1\u20135, IEEE, Wuhan, China, 2009.","DOI":"10.1109\/CISE.2009.5363861"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_019_w2aab3b7c10b1b6b1ab1b6c19Aa","doi-asserted-by":"crossref","unstructured":"S. M. H. Hasheminejad and S. Jalili, Design patterns selection: an automatic two-phase method, J. Syst. Softw.85 (2012), 408\u2013424.10.1016\/j.jss.2011.08.031","DOI":"10.1016\/j.jss.2011.08.031"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_020_w2aab3b7c10b1b6b1ab1b6c20Aa","doi-asserted-by":"crossref","unstructured":"S. M. H. Hasheminejad and S. Jalili, SCI-GA: software component identification using genetic algorithm, J. Object Technol.12 (2013), 3-1.","DOI":"10.5381\/jot.2013.12.2.a3"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_021_w2aab3b7c10b1b6b1ab1b6c21Aa","doi-asserted-by":"crossref","unstructured":"S. M. H. Hasheminejad and S. Jalili, An evolutionary approach to identify logical components. J. Syst. Softw.96 (2014), 24\u201350.10.1016\/j.jss.2014.05.033","DOI":"10.1016\/j.jss.2014.05.033"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_022_w2aab3b7c10b1b6b1ab1b6c22Aa","doi-asserted-by":"crossref","unstructured":"S. M. H. Hasheminejad and S. Jalili, CCIC: clustering analysis classes to identify software components, Inf. Softw. Technol.57 (2015), 329\u2013351.10.1016\/j.infsof.2014.05.013","DOI":"10.1016\/j.infsof.2014.05.013"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_023_w2aab3b7c10b1b6b1ab1b6c23Aa","unstructured":"S. M. Hasheminejad and Z. Salimi, FDiBC: a novel fraud detection method in bank club based on sliding time and scores window, J. AI Data Mining (2017)."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_024_w2aab3b7c10b1b6b1ab1b6c24Aa","doi-asserted-by":"crossref","unstructured":"S. H. A. Hasheminejad, M. Zahedi and S. M. H. Hasheminejad, A hybrid clustering and classification approach for predicting crash injury severity on rural roads, Int. J. Injury Control Saf. Promot. (2017), 1\u201317.","DOI":"10.1080\/17457300.2017.1341933"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_025_w2aab3b7c10b1b6b1ab1b6c25Aa","unstructured":"H. Jain, N. Chalimeda, N. Ivaturi and B. Reddy, Business component identification \u2013 a formal approach, in: Enterprise Distributed Object Computing Conference, 2001, EDOC\u201901, Proceedings, 5th IEEE International, pp. 183\u2013187, IEEE, Seattle, WA, USA, 2001."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_026_w2aab3b7c10b1b6b1ab1b6c26Aa","unstructured":"S. D. Kim and S. H. Chang, A systematic method to identify software components, in: Software Engineering Conference, 2004, 11th Asia-Pacific, pp. 538\u2013545, IEEE, 2004."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_027_w2aab3b7c10b1b6b1ab1b6c27Aa","doi-asserted-by":"crossref","unstructured":"J. Kim, S. Park and V. Sugumaran, DRAMA: a framework for domain requirements analysis and modeling architectures in software product lines, J. Syst. Softw.81 (2008), 37\u201355.10.1016\/j.jss.2007.04.011","DOI":"10.1016\/j.jss.2007.04.011"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_028_w2aab3b7c10b1b6b1ab1b6c28Aa","unstructured":"S. D. Lee, Y. J. Yang, F. S. Cho, S. D. Kim and S. Y. Rhew, COMO: a UML-based component development methodology, in: Software Engineering Conference, 1999, (APSEC\u201999) Proceedings, 6th Asia Pacific, pp. 54\u201361, IEEE, Takamatsu, Japan, 1999."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_029_w2aab3b7c10b1b6b1ab1b6c29Aa","unstructured":"J. K. Lee, S. J. Jung, S. D. Kim, W. H. Jang and D. H. Ham, Component identification method with coupling and cohesion, in: Software Engineering Conference, 2001, APSEC 2001, 8th Asia-Pacific, pp. 79\u201386, IEEE, Macao, China, 2011."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_030_w2aab3b7c10b1b6b1ab1b6c30Aa","unstructured":"LGS case, Available at: https:\/\/taam.bankmellat.ir\/TAAM\/jsp\/customer\/main.jsp, Accessed 2016 Aug."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_031_w2aab3b7c10b1b6b1ab1b6c31Aa","doi-asserted-by":"crossref","unstructured":"H. Masoud, S. Jalili and S. M. H. Hasheminejad, Dynamic clustering using combinatorial particle swarm optimization, Appl. Intell.38 (2013), 289\u2013314.10.1007\/s10489-012-0373-9","DOI":"10.1007\/s10489-012-0373-9"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_032_w2aab3b7c10b1b6b1ab1b6c32Aa","unstructured":"G. A. Mills-Tettey, A. Stentz and M. B. Dias, The dynamic Hungarian algorithm for the assignment problem with changing costs, in: Tech. Rep. CMU-RI-TR-07-27, Robotics Institute, Pittsburgh, 2007."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_033_w2aab3b7c10b1b6b1ab1b6c33Aa","doi-asserted-by":"crossref","unstructured":"R. Naseem, O. Maqbool and S. Muhammad, Improved similarity measures for software clustering, in: Software Maintenance and Reengineering (CSMR), 2011 15th European Conference on, pp. 45\u201354, IEEE, Oldenburg, Germany, 2011.","DOI":"10.1109\/CSMR.2011.9"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_034_w2aab3b7c10b1b6b1ab1b6c34Aa","unstructured":"OBS case, Available at: http:\/\/www.isr.umd.edu\/\u223caustin\/ense621.d\/projects04.d\/project_gouthami.html, Accessed 2016 Aug."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_035_w2aab3b7c10b1b6b1ab1b6c35Aa","doi-asserted-by":"crossref","unstructured":"S. M. A. Pahnehkolaei, A. Alfi, A. Sadollah and J. H. Kim, Gradient-based water cycle algorithm with evaporation rate applied to chaos suppression, Appl. Soft Comput.53 (2017), 420\u2013440.10.1016\/j.asoc.2016.12.030","DOI":"10.1016\/j.asoc.2016.12.030"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_036_w2aab3b7c10b1b6b1ab1b6c36Aa","doi-asserted-by":"crossref","unstructured":"L. Peng, Z. Tong and Y. Zhang, Design of business component identification method with graph segmentation, in: Intelligent System and Knowledge Engineering, 2008, ISKE 2008, 3rd International Conference on, Vol. 1, pp. 296\u2013301, IEEE, Xiamen, China, 2008.","DOI":"10.1109\/ISKE.2008.4730944"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_037_w2aab3b7c10b1b6b1ab1b6c37Aa","unstructured":"J. Rice, Mathematical statistics and data analysis, Nelson Education, Scarborough, 2006."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_038_w2aab3b7c10b1b6b1ab1b6c38Aa","doi-asserted-by":"crossref","unstructured":"F. Sebastiani, Machine learning in automated text categorization, ACM Comput. Surv.34 (2002), 1\u201347.10.1145\/505282.505283","DOI":"10.1145\/505282.505283"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_039_w2aab3b7c10b1b6b1ab1b6c39Aa","doi-asserted-by":"crossref","unstructured":"G. Shahmohammadi, S. Jalili and S. M. H. Hasheminejad, Identification of system software components using clustering approach, J. Object Technol.9 (2010), 77\u201398.10.5381\/jot.2010.9.6.a4","DOI":"10.5381\/jot.2010.9.6.a4"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_040_w2aab3b7c10b1b6b1ab1b6c40Aa","unstructured":"M. Shepperd, Foundations of software measurement, Prentice-Hall International (UK) Ltd., London, 1995."},{"key":"2025120523294078610_j_jisys-2017-0244_ref_041_w2aab3b7c10b1b6b1ab1b6c41Aa","doi-asserted-by":"crossref","unstructured":"V. Tawosi, S. Jalili and S. M. H. Hasheminejad, Automated software design using ant colony optimization with semantic network support. J. Syst. Softw.109 (2015), 1\u201317.10.1016\/j.jss.2015.06.067","DOI":"10.1016\/j.jss.2015.06.067"},{"key":"2025120523294078610_j_jisys-2017-0244_ref_042_w2aab3b7c10b1b6b1ab1b6c42Aa","doi-asserted-by":"crossref","unstructured":"R. Xu and D. C. Wunsch, Clustering algorithms in biomedical research: a review, IEEE Rev. Biomed. Eng.3 (2010), 120\u2013154.10.1109\/RBME.2010.2083647","DOI":"10.1109\/RBME.2010.2083647"}],"container-title":["Journal of Intelligent Systems"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/www.degruyter.com\/view\/j\/jisys.2019.28.issue-5\/jisys-2017-0244\/jisys-2017-0244.xml","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyterbrill.com\/document\/doi\/10.1515\/jisys-2017-0244\/xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyterbrill.com\/document\/doi\/10.1515\/jisys-2017-0244\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,12,5]],"date-time":"2025-12-05T23:30:04Z","timestamp":1764977404000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.degruyterbrill.com\/document\/doi\/10.1515\/jisys-2017-0244\/html"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,10,12]]},"references-count":42,"journal-issue":{"issue":"5","published-online":{"date-parts":[[2017,10,25]]},"published-print":{"date-parts":[[2019,9,25]]}},"alternative-id":["10.1515\/jisys-2017-0244"],"URL":"https:\/\/doi.org\/10.1515\/jisys-2017-0244","relation":{},"ISSN":["2191-026X","0334-1860"],"issn-type":[{"type":"electronic","value":"2191-026X"},{"type":"print","value":"0334-1860"}],"subject":[],"published":{"date-parts":[[2017,10,12]]}}}