{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,4]],"date-time":"2026-04-04T09:27:31Z","timestamp":1775294851405,"version":"3.50.1"},"reference-count":40,"publisher":"Walter de Gruyter GmbH","issue":"1","license":[{"start":{"date-parts":[[2018,12,4]],"date-time":"2018-12-04T00:00:00Z","timestamp":1543881600000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019,12,18]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>Poor design choices at the early stages of software development and unprincipled maintenance practices usually deteriorate software modularity and subsequently increase system complexity. In object-oriented software, improper distribution of classes among packages is a key factor, responsible for modularity degradation. Many optimization techniques to improve the software modularity have been proposed in the literature. The focus of these optimization techniques is to produce modularization solutions by optimizing different design quality criteria. Such modularization solutions are good from the different aspect of quality; however, they require huge modifications in the existing modular structure to realize the suggested solution. Thus these techniques are costly and time consuming if applied at early stages of software maintenance. This paper proposes a search-based optimization technique to improve the modularity of the software system with minimum possible variation between the existing and produced modularization solution. To this contribution, a penalized fitness function, namely, penalized modularization quality, is designed in terms of modularization quality and the Move or Join Effectiveness Measure metric. Furthermore, this fitness function is used in both single-objective genetic algorithm (SGA) and multi-objective genetic algorithm (MGA) to generate the modularization. The effectiveness of the proposed remodularization approach is evaluated over five open-source and three random generated software systems. The experimentation results show that the proposed approach is able to generate modularization solutions with improved quality along with lesser perturbation compared to their non-penalty counterpart and at the same time it performs better with the MGA compared to the SGA. The proposed approach can be very useful, especially when total remodularization is not feasible\/desirable due to lack of time or high cost.<\/jats:p>","DOI":"10.1515\/jisys-2018-0231","type":"journal-article","created":{"date-parts":[[2018,12,4]],"date-time":"2018-12-04T03:49:30Z","timestamp":1543895370000},"page":"1135-1150","source":"Crossref","is-referenced-by-count":1,"title":["Optimizing Software Modularity with Minimum Possible Variations"],"prefix":"10.1515","volume":"29","author":[{"given":"Amarjeet","family":"Prajapati","sequence":"first","affiliation":[{"name":"Department of Computer Science and Engineering , JIIT , Noida 201309, Uttar Pradesh , India"}]},{"given":"Jitender Kumar","family":"Chhabra","sequence":"additional","affiliation":[{"name":"Department of Computer Engineering , NIT Kurukshetra , Haryana 136119 , India"}]}],"member":"374","published-online":{"date-parts":[[2018,12,4]]},"reference":[{"key":"2025120523362729452_j_jisys-2018-0231_ref_001","doi-asserted-by":"crossref","unstructured":"H. Abdeen, S. Ducasse, H. A. Sahraoui and I. Alloui, Automatic package coupling and cycle minimization, in: Proceedings of WCRE\u2019 2009, pp. 103\u2013112, IEEE Computer Society, Lille, 2009.","DOI":"10.1109\/WCRE.2009.13"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_002","doi-asserted-by":"crossref","unstructured":"H. Abdeen, S. Ducasse and H. A. Sahraoui, Modularization metrics: assessing package organization in legacy large object-oriented software, in: Proceedings of WCRE\u2019 2011, pp. 394\u2013398, IEEE Computer Society Press, Limerick, 2011.","DOI":"10.1109\/WCRE.2011.55"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_003","doi-asserted-by":"crossref","unstructured":"H. Abdeen, H. Sahraoui, O. Shata, N. Anquetil and S. Ducasse, Towards automatically improving package structure while respecting original design decisions, in: 20th Working Conference on Reverse Engineering (WCRE), pp. 212\u2013221, IEEE, Koblenz, 2013.","DOI":"10.1109\/WCRE.2013.6671296"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_004","unstructured":"F. B. Abreu and M. Goulao, Coupling and cohesion as modularization drivers: are we being over-persuaded? In: Proceedings of CSMR\u2019 2001, pp. 47\u201357, IEEE, Lisbon, Portugal, 2001."},{"key":"2025120523362729452_j_jisys-2018-0231_ref_005","doi-asserted-by":"crossref","unstructured":"P. Amarjeet and J. K. Chhabra, An empirical study of the sensitivity of quality indicator for software module clustering, in: 7th International Conference on Contemporary Computing (IC3), 2014, pp. 206\u2013211, IEEE, Noida, India, 2014.","DOI":"10.1109\/IC3.2014.6897174"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_006","doi-asserted-by":"crossref","unstructured":"P. Amarjeet and J. K. Chhabra, TA-ABC: two-archive artificial bee colony for multi-objective software module clustering problem, J. Intell. Syst. 27 (2017), 619\u2013641.","DOI":"10.1515\/jisys-2016-0253"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_007","doi-asserted-by":"crossref","unstructured":"P. Amarjeet and J. K. Chhabra, Improving package structure of object-oriented software using multi-objective optimization and weighted class connections, J. King Saud Univ. Comput. Inf. Sci. 29 (2017), 349\u2013364. Available online 2 November 2015.","DOI":"10.1016\/j.jksuci.2015.09.004"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_008","doi-asserted-by":"crossref","unstructured":"P. Amarjeet and J. K. Chhabra, Harmony search based remodularization for object-oriented software systems, Comput. Lang. Syst. Struct. 47 (2017), 153\u2013169.","DOI":"10.1016\/j.cl.2016.09.003"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_009","doi-asserted-by":"crossref","unstructured":"P. Amarjeet and J. K. Chhabra, Improving modular structure of software system using structural and lexical dependency, Inf. Softw. Technol. 82 (2017), 96\u2013120.","DOI":"10.1016\/j.infsof.2016.09.011"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_010","doi-asserted-by":"crossref","unstructured":"P. Amarjeet and J. K. Chhabra, Many-objective artificial bee colony algorithm for large-scale software module clustering problem, Soft Comput. 22 (2018), 6342\u20136361.","DOI":"10.1007\/s00500-017-2687-3"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_011","doi-asserted-by":"crossref","unstructured":"P. Amarjeet and J. K. Chhabra, FP-ABC: Fuzzy-Pareto dominance driven artificial bee colony algorithm for many-objective software module clustering, Comput. Lang. Syst. Struct. 51 (2018), 1\u201321.","DOI":"10.1016\/j.cl.2017.08.001"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_012","unstructured":"N. Anquetil, S. Denier, S. Ducasse, J. Laval and D. Pollet, Software (re)modularization: fight against the structure erosion and migration preparation, 2010."},{"key":"2025120523362729452_j_jisys-2018-0231_ref_013","doi-asserted-by":"crossref","unstructured":"N. Anquetil and T. C. Lethbridge, Experiments with clustering as a software modularization method, in: Working Conference on Reverse Engineering, pp. 235\u2013255, IEEE CS Press, Washington, DC, USA, 1999.","DOI":"10.1109\/WCRE.1999.806964"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_014","doi-asserted-by":"crossref","unstructured":"N. Anquetil and T. C. Lethbridge, Comparative study of clustering algorithms and abstract representations for software re-modularization, IEE Proc. Softw. 150 (2003), 185\u2013201.","DOI":"10.1049\/ip-sen:20030581"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_015","doi-asserted-by":"crossref","unstructured":"S. F. Ardabili, Computational intelligence approach for modeling hydrogen production: a review, Eng. Appl. Comput. Fluid Mech. 12 (2018), 438\u2013458.","DOI":"10.1080\/19942060.2018.1452296"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_016","doi-asserted-by":"crossref","unstructured":"M. Barros, An analysis of the effects of composite objectives in multiobjective software module clustering, in: Proceedings of the 14th International Conference on Genetic and Evolutionary GECCC-12, Terence Soule (Ed.). pp. 1205\u2013212, ACM, New York, NY, USA, 2012.","DOI":"10.1145\/2330163.2330330"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_017","doi-asserted-by":"crossref","unstructured":"G. Bavota, A. D. Lucia, A. Marcus and R. Oliveto, Software re-modularization based on structural and semantic metrics, in: Proceedings of WCRE\u2019 2010, pp. 195\u2013204, IEEE, Beverly, Massachusetts, USA, 2010.","DOI":"10.1109\/WCRE.2010.29"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_018","doi-asserted-by":"crossref","unstructured":"J. Corwin, D. F. Bacon, D. Grove and C. Murthy, MJ: A rational module system for Java and its applications, in: Proceedings of the 18th ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications, pp. 241\u2013254, New York, NY, USA, 2003.","DOI":"10.1145\/949305.949326"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_019","doi-asserted-by":"crossref","unstructured":"K. Deb, A. Pratap, S. Agarwal and T. Meyarivan, A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evolut. Comput. 6 (2002), 182\u2013197.","DOI":"10.1109\/4235.996017"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_020","unstructured":"J. Garcia, D. Le, D. Link, A. S. Pooyan Behnamghader, E. F. Ortiz and N. Medvidovic, An empirical study of architectural change and decay in open-source software systems, Tech. Rep. USC-CSSE, 2014."},{"key":"2025120523362729452_j_jisys-2018-0231_ref_021","doi-asserted-by":"crossref","unstructured":"V. Gupta and J. K. Chhabra, Package Coupling measurement in object-oriented software. J. Comput. Sci. Technol. 24 (2009), 273\u2013283.","DOI":"10.1007\/s11390-009-9223-6"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_022","doi-asserted-by":"crossref","unstructured":"Y. Ichisugi and A. Tanaka, Difference-based modules: a class independent module mechanism, in: Proceedings ECOOP 2002, 2374 of LNCS, Springer Verlag, Malaga, Spain, 2002.","DOI":"10.1007\/3-540-47993-7_3"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_023","doi-asserted-by":"crossref","unstructured":"S. M. R. Kazemi, Novel genetic-based negative correlation learning for estimating soil temperature, Eng. Appl. Comput. Fluid Mech. 12 (2018), 506\u2013516.","DOI":"10.1080\/19942060.2018.1463871"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_024","doi-asserted-by":"crossref","unstructured":"D. Le, P. Behnamghader, J. Garcia, D. Link, A. Shahbazian and N. Medvidovic, An empirical study of architectural change in open source software systems, Technical Report USC-CSSE-2014-509, Center for Systems and Software Engineering, University of Southern California, 2014.","DOI":"10.1109\/MSR.2015.29"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_025","doi-asserted-by":"crossref","unstructured":"S. Mancoridis, B. S. Mitchell, C. Rorres, Y. F. Chen and E. R. Gansner, Using automatic clustering to produce high-level system organizations of source code, in: Proceedings. 6th International Workshop on Program Comprehension. IWPC\u201998, pp. 45\u201353, IEEE, Ischia, Italy, 1998.","DOI":"10.1109\/WPC.1998.693283"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_026","doi-asserted-by":"crossref","unstructured":"S. Mancoridis, B. S. Mitchell, C. Rorres, Y. F. Chen and E. R. Gansner, Bunch: recovery and maintenance of software system structures, in: Proceedings of the IEEE International Conference on Software Maintenance, pp. 50\u201359, IEEE, Oxford, UK, 1999.","DOI":"10.1109\/ICSM.1999.792498"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_027","doi-asserted-by":"crossref","unstructured":"S. McDirmid, M. Flatt and W. Hsieh, Jiazzi: new age components for old fashioned Java, in: Proceedings of the 16th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA \u201901), pp. 211\u2013222, ACM, New York, NY, USA, 2001.","DOI":"10.1145\/504282.504298"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_028","unstructured":"H. Melton and E. Tempero, The CRSS metric for package design quality, in: Proceedings of ACSC\u2019 2007, pp. 201\u2013210, Australian Computer Society Inc., Darlinghurst, Australia, 2007."},{"key":"2025120523362729452_j_jisys-2018-0231_ref_029","doi-asserted-by":"crossref","unstructured":"B. S. Mitchell and S. Mancoridis, On the automatic modularization of software systems using the bunch tool, IEEE Trans. Softw. Eng. 32 (2006), 193\u2013208.","DOI":"10.1109\/TSE.2006.31"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_030","doi-asserted-by":"crossref","unstructured":"R. Moazenzadeh, Coupling a firefly algorithm with support vector regression to predict evaporation in northern Iran, Eng. Appl. Comput. Fluid Mech. 12 (2018), 584\u2013597.","DOI":"10.1080\/19942060.2018.1482476"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_031","doi-asserted-by":"crossref","unstructured":"K. Praditwong, M. Harman and X. Yao, Software module clustering as a multi-objective search problem, IEEE Trans. Softw. Eng. 37 (2011), 264\u2013282.","DOI":"10.1109\/TSE.2010.26"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_032","doi-asserted-by":"crossref","unstructured":"Y. Smaragdakis and D. Batory, Mixin layers: An object-oriented implementation technique for refinements and collaboration-based designs. ACM Trans. Softw. Eng. Methodol. 11 (2002), 215\u2013255.","DOI":"10.1145\/505145.505148"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_033","doi-asserted-by":"crossref","unstructured":"R. Strnisa, P. Sewell and M. Parkinson, The java module system: core design and semantic definition, in: OOPSLA \u201907: Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object Oriented Programming Systems and Applications, pp. 499\u2013514, ACM, New York, NY, USA, 2007.","DOI":"10.1145\/1297027.1297064"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_034","doi-asserted-by":"crossref","unstructured":"R. Taormina, Neural network river forecasting through base flow separation and binary-coded swarm optimization, J. Hydrol. 529 (2015), 1788\u20131797.","DOI":"10.1016\/j.jhydrol.2015.08.008"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_035","doi-asserted-by":"crossref","unstructured":"P. Tonella, Concept analysis for module restructuring. IEEE Trans. Softw. Eng. 27 (2001), 351\u2013363.","DOI":"10.1109\/32.917524"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_036","unstructured":"Z. Wen and V. Tzerpos, An effectiveness measure for software clustering algorithms.12th IEEE International Workshop on Program Comprehension, pp. 194\u2013203, 2004."},{"key":"2025120523362729452_j_jisys-2018-0231_ref_037","doi-asserted-by":"crossref","unstructured":"T. A. Wiggerts, Using clustering algorithms in legacy systems re-modularization, in: Working Conference on Reverse Engineering, pp. 33\u201343, IEEE, Amsterdam, The Netherlands, 2000.","DOI":"10.1109\/WCRE.1997.624574"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_038","doi-asserted-by":"crossref","unstructured":"C. L. Wu, Rainfall-runoff modeling using artificial neural network coupled with singular spectrum analysis, J. Hydrol. 399 (2011), 394\u2013409.","DOI":"10.1016\/j.jhydrol.2011.01.017"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_039","doi-asserted-by":"crossref","unstructured":"S. W. Zhang, Dimension reduction using semi-supervised locally linear embedding for plant leaf classification, Lect. Notes Comput. Sci. 5754 (2009), 948\u2013955.","DOI":"10.1007\/978-3-642-04070-2_100"},{"key":"2025120523362729452_j_jisys-2018-0231_ref_040","doi-asserted-by":"crossref","unstructured":"Y. Zhao, Y. Yang, H. Lu, Y. Zhou, Q. Song and B. Xu, An empirical analysis of package-modularization metrics: implications for software fault-proneness. Inf. Softw. Technol. 56 (2015), 186\u2013203.","DOI":"10.1016\/j.infsof.2014.09.006"}],"container-title":["Journal of Intelligent Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.degruyter.com\/view\/journals\/jisys\/29\/1\/article-p1135.xml","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyterbrill.com\/document\/doi\/10.1515\/jisys-2018-0231\/xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyterbrill.com\/document\/doi\/10.1515\/jisys-2018-0231\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,4]],"date-time":"2026-04-04T08:43:35Z","timestamp":1775292215000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.degruyterbrill.com\/document\/doi\/10.1515\/jisys-2018-0231\/html"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,12,4]]},"references-count":40,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2018,4,25]]},"published-print":{"date-parts":[[2019,12,18]]}},"alternative-id":["10.1515\/jisys-2018-0231"],"URL":"https:\/\/doi.org\/10.1515\/jisys-2018-0231","relation":{},"ISSN":["2191-026X","0334-1860"],"issn-type":[{"value":"2191-026X","type":"electronic"},{"value":"0334-1860","type":"print"}],"subject":[],"published":{"date-parts":[[2018,12,4]]}}}