{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,3]],"date-time":"2026-10-03T02:37:13Z","timestamp":1790995033787,"version":"4.1.0"},"reference-count":66,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2016,6,30]],"date-time":"2016-06-30T00:00:00Z","timestamp":1467244800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2016,8,22]]},"abstract":"<jats:p>Refactoring and, in particular, remodularization operations can be performed to repair the design of a software system and remove the erosion caused by software evolution. Various approaches have been proposed to support developers during the remodularization of a software system. Most of these approaches are based on the underlying assumption that developers pursue an optimal balance between cohesion and coupling when modularizing the classes of their systems. Thus, a remodularization recommender proposes a solution that implicitly provides a (near) optimal balance between such quality attributes. However, there is still no empirical evidence that such a balance is the<jats:italic>desideratum<\/jats:italic>by developers. This article aims at analyzing both objectively and subjectively the aforementioned phenomenon. Specifically, we present the results of (1) a large study analyzing the modularization quality, in terms of package cohesion and coupling, of 100 open-source systems, and (2) a survey conducted with 29 developers aimed at understanding the driving factors they consider when performing modularization tasks. The results achieved have been used to distill a set of lessons learned that might be considered to design more effective remodularization recommenders.<\/jats:p>","DOI":"10.1145\/2928268","type":"journal-article","created":{"date-parts":[[2016,7,5]],"date-time":"2016-07-05T14:08:13Z","timestamp":1467727693000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":91,"title":["Using Cohesion and Coupling for Software Remodularization"],"prefix":"10.1145","volume":"25","author":[{"given":"Ivan","family":"Candela","sequence":"first","affiliation":[{"name":"University of Molise, Pesche (IS), Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Gabriele","family":"Bavota","sequence":"additional","affiliation":[{"name":"Free University of Bozen-Bolzano, Bolzano (BZ), Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Barbara","family":"Russo","sequence":"additional","affiliation":[{"name":"Free University of Bozen-Bolzano, Bolzano (BZ), Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rocco","family":"Oliveto","sequence":"additional","affiliation":[{"name":"University of Molise, Pesche (IS), Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2016,6,30]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2011.55"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2013.6671296"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the 7th Working Conference on Reverse Engineering (WCRE'99)","author":"Anquetil N.","unstructured":"N. Anquetil and T. Lethbridge . 1999. Experiments with clustering as a software remodularization method . In Proceedings of the 7th Working Conference on Reverse Engineering (WCRE'99) . 235--255. N. Anquetil and T. Lethbridge. 1999. Experiments with clustering as a software remodularization method. In Proceedings of the 7th Working Conference on Reverse Engineering (WCRE'99). 235--255."},{"key":"e_1_2_1_4_1","unstructured":"R. Baeza-Yates and B. Ribeiro-Neto. 1999. Modern Information Retrieval. Addison-Wesley. R. Baeza-Yates and B. Ribeiro-Neto. 1999. Modern Information Retrieval. Addison-Wesley."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-33119-0_7"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 35th International Conference on Software Engineering (ICSE\u201913)","author":"Bavota G.","unstructured":"G. Bavota , B. Dit , R. Oliveto , M. Di Penta , D. Poshyvanyk , and A. De Lucia . 2013. An empirical study on the developers\u2019 perception of software coupling . In Proceedings of the 35th International Conference on Software Engineering (ICSE\u201913) . IEEE\/ACM, 692--701. G. Bavota, B. Dit, R. Oliveto, M. Di Penta, D. Poshyvanyk, and A. De Lucia. 2013. An empirical study on the developers\u2019 perception of software coupling. In Proceedings of the 35th International Conference on Software Engineering (ICSE\u201913). IEEE\/ACM, 692--701."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2559935"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-012-9226-8"},{"key":"e_1_2_1_9_1","doi-asserted-by":"crossref","unstructured":"G. Bavota A. De Lucia A. Marcus and R. Oliveto. 2014. Recommending refactoring operations in large software systems. In Recommendation Systems in Software Engineering. 387--419. G. Bavota A. De Lucia A. Marcus and R. Oliveto. 2014. Recommending refactoring operations in large software systems. In Recommendation Systems in Software Engineering. 387--419.","DOI":"10.1007\/978-3-642-45135-5_15"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2013.60"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2642937.2642948"},{"key":"e_1_2_1_12_1","doi-asserted-by":"crossref","unstructured":"G. Bavota M. Penta and R. Oliveto. 2014b. Search based software maintenance: Methods and tools. In Evolving Software Systems. Springer Berlin. G. Bavota M. Penta and R. Oliveto. 2014b. Search based software maintenance: Methods and tools. In Evolving Software Systems. Springer Berlin.","DOI":"10.1007\/978-3-642-45398-4_4"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025162"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-012-9225-9"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/794203.795282"},{"key":"e_1_2_1_16_1","unstructured":"I. Candela G. Bavota B. Russo and R. Oliveto. 2015. Using Cohesion and Coupling for Software Remodularization: Is it Enough? -- Replication Package. (2015). http:\/\/tinyurl.com\/pm5ez7m. I. Candela G. Bavota B. Russo and R. Oliveto. 2015. Using Cohesion and Coupling for Software Remodularization: Is it Enough? -- Replication Package. (2015). http:\/\/tinyurl.com\/pm5ez7m."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2393596.2393647"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.295895"},{"key":"e_1_2_1_19_1","volume-title":"Statistical Power Analysis for the Behavioral Sciences","author":"Cohen J.","unstructured":"J. Cohen . 1988. Statistical Power Analysis for the Behavioral Sciences ( 2 nd ed.). Lawrence Earlbaum Associates . J. Cohen. 1988. Statistical Power Analysis for the Behavioral Sciences (2nd ed.). Lawrence Earlbaum Associates.","edition":"2"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2010.36"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2011.8"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/157710.157715"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806842"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2014.07.015"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2330163.2330330"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39742-4_5"},{"key":"e_1_2_1_27_1","volume-title":"Multi-Objective Optimization Using Evolutionary Algorithms","author":"Deb K.","unstructured":"K. Deb . 2001. Multi-Objective Optimization Using Evolutionary Algorithms . Wiley . K. Deb. 2001. Multi-Objective Optimization Using Evolutionary Algorithms. Wiley."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/4235.996017"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-4571(199009)41:6<391::AID-ASI1>3.0.CO;2-9"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233534"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the Software Technology and Engineering Practice (STEP\u201999)","author":"Doval D.","unstructured":"D. Doval , S. Mancoridis , and B. S. Mitchell . 1999. Automatic clustering of software systems using a genetic algorithm . In Proceedings of the Software Technology and Engineering Practice (STEP\u201999) . IEEE Computer Society, 73--82. D. Doval, S. Mancoridis, and B. S. Mitchell. 1999. Automatic clustering of software systems using a genetic algorithm. In Proceedings of the Software Technology and Engineering Practice (STEP\u201999). IEEE Computer Society, 73--82."},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the IEEE International Conference on Software Maintenance","author":"Ducasse S.","year":"2007","unstructured":"S. Ducasse , D. Pollet , M. Suen , H. Abdeen , and I. Alloui . 2007. Package surface blueprints: Visually supporting the understanding of package relationships . In Proceedings of the IEEE International Conference on Software Maintenance , 2007 (ICSM\u201907). 94--103. S. Ducasse, D. Pollet, M. Suen, H. Abdeen, and I. Alloui. 2007. Package surface blueprints: Visually supporting the understanding of package relationships. In Proceedings of the IEEE International Conference on Software Maintenance, 2007 (ICSM\u201907). 94--103."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.895984"},{"key":"e_1_2_1_34_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler M.","year":"1999","unstructured":"M. Fowler . 1999 . Refactoring: Improving the Design of Existing Code . Addison-Wesley, Boston , MA. M. Fowler. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, MA."},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of the 14th International Conference on Software Maintenance. IEEE CS Press, 190--198","author":"Gall H.","unstructured":"H. Gall , K. Hajek , and M. Jazayeri . 1998. Detection of logical coupling based on product release history . In Proceedings of the 14th International Conference on Software Maintenance. IEEE CS Press, 190--198 . H. Gall, K. Hajek, and M. Jazayeri. 1998. Detection of logical coupling based on product release history. In Proceedings of the 14th International Conference on Software Maintenance. IEEE CS Press, 190--198."},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the 6th International Workshop on Principle of Software Evolution. IEEE CS Press, 13--23","author":"Gall H.","unstructured":"H. Gall , M. Jazayeri , and J. Krajewski . 2003. CVS release history data for detecting logical couplings . In Proceedings of the 6th International Workshop on Principle of Software Evolution. IEEE CS Press, 13--23 . H. Gall, M. Jazayeri, and J. Krajewski. 2003. CVS release history data for detecting logical couplings. In Proceedings of the 6th International Workshop on Principle of Software Evolution. IEEE CS Press, 13--23."},{"key":"e_1_2_1_37_1","unstructured":"M. R. Garey and D. S. Johnson. 1979. Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. M. R. Garey and D. S. Johnson. 1979. Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman."},{"key":"e_1_2_1_38_1","volume-title":"Genetic Algorithms in Search, Optimization and Machine Learning","author":"Goldberg D. E.","unstructured":"D. E. Goldberg . 1989. Genetic Algorithms in Search, Optimization and Machine Learning . Addison-Wesley Longman Publishing Co. D. E. Goldberg. 1989. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Co."},{"key":"e_1_2_1_39_1","volume-title":"Survey Methodology","author":"Groves R. M.","unstructured":"R. M. Groves . 2009. Survey Methodology ( 2 nd ed.). Wiley . R. M. Groves. 2009. Survey Methodology (2nd ed.). Wiley.","edition":"2"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2014.75"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2012.6405309"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1068009.1068184"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2006.10.017"},{"key":"e_1_2_1_44_1","volume-title":"Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems","author":"Lanza M.","year":"2006","unstructured":"M. Lanza and R. Marinescu . 2006 . Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems . Springer . M. Lanza and R. Marinescu. 2006. Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems. Springer."},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of the 6th International Workshop on Program Comprehension (IWPC'98)","author":"Mancoridis S.","unstructured":"S. Mancoridis , B. S. Mitchell , C. Rorres , Y.-F. Chen , and E. R. Gansner . 1998. Using automatic clustering to produce high-level system organizations of source code . In Proceedings of the 6th International Workshop on Program Comprehension (IWPC'98) . 45--52. S. Mancoridis, B. S. Mitchell, C. Rorres, Y.-F. Chen, and E. R. Gansner. 1998. Using automatic clustering to produce high-level system organizations of source code. In Proceedings of the 6th International Workshop on Program Comprehension (IWPC'98). 45--52."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.70732"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.70768"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.5555\/1044861"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2001.972795"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2006.31"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2729974"},{"key":"e_1_2_1_52_1","unstructured":"O. Nierstrasz S. Ducasse and S. Demeyer. 2003. Object-Oriented Reengineering Patterns. Morgan Kaufmann Publishers. O. Nierstrasz S. Ducasse and S. Demeyer. 2003. Object-Oriented Reengineering Patterns. Morgan Kaufmann Publishers."},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.5555\/257734.257788"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1108\/eb046814"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2006.67"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.26"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2010.17"},{"key":"e_1_2_1_58_1","doi-asserted-by":"crossref","unstructured":"M. Siff and T. W. Reps. 1997. Identifying modules via concept analysis. In ICSM. 170--179. M. Siff and T. W. Reps. 1997. Identifying modules via concept analysis. In ICSM. 170--179.","DOI":"10.1109\/ICSM.1997.624243"},{"key":"e_1_2_1_59_1","volume-title":"Search-Based Software Engineering. Lecture Notes in Computer Science","volume":"9275","author":"Simons C.","unstructured":"C. Simons , J. Singer , and D. R. White . 2015. Search-based refactoring: Metrics are not enough . In Search-Based Software Engineering. Lecture Notes in Computer Science , Vol. 9275 . Springer International Publishing, 47--61. DOI:http:\/\/dx.doi.org\/10.1007\/978-3-319-22183-0_4 10.1007\/978-3-319-22183-0_4 C. Simons, J. Singer, and D. R. White. 2015. Search-based refactoring: Metrics are not enough. In Search-Based Software Engineering. Lecture Notes in Computer Science, Vol. 9275. Springer International Publishing, 47--61. DOI:http:\/\/dx.doi.org\/10.1007\/978-3-319-22183-0_4"},{"key":"e_1_2_1_60_1","volume-title":"Proceedings of the 2nd International Conference on Software Engineering. 492--497","author":"Burton Swanson E.","year":"1976","unstructured":"E. Burton Swanson . 1976 . The dimensions of maintenance . In Proceedings of the 2nd International Conference on Software Engineering. 492--497 . E. Burton Swanson. 1976. The dimensions of maintenance. In Proceedings of the 2nd International Conference on Software Engineering. 492--497."},{"key":"e_1_2_1_61_1","volume-title":"Lecture Notes in Computer Science","volume":"6813","author":"Taube-Schock C.","unstructured":"C. Taube-Schock , R. J. Walker , and I. H. Witten . 2011. Can we avoid high coupling? In 2011 Object-Oriented Programming (ECOOP\u201911), Mira Mezini (Ed.) . Lecture Notes in Computer Science , Vol. 6813 . Springer Berlin Heidelberg, 204--228. C. Taube-Schock, R. J. Walker, and I. H. Witten. 2011. Can we avoid high coupling? In 2011 Object-Oriented Programming (ECOOP\u201911), Mira Mezini (Ed.). Lecture Notes in Computer Science, Vol. 6813. Springer Berlin Heidelberg, 204--228."},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1109\/3477.915346"},{"key":"e_1_2_1_63_1","volume-title":"Proceedings of the 12th IEEE International Workshop on Program Comprehension. 194--203","author":"Wen Z.","unstructured":"Z. Wen and V. Tzerpos . 2004. An effectiveness measure for software clustering algorithms . In Proceedings of the 12th IEEE International Workshop on Program Comprehension. 194--203 . Z. Wen and V. Tzerpos. 2004. An effectiveness measure for software clustering algorithms. In Proceedings of the 12th IEEE International Workshop on Program Comprehension. 194--203."},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.5555\/832304.836999"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2005.31"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1080\/01621459.1972.10481251"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2928268","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2928268","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:56:28Z","timestamp":1750222588000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2928268"}},"subtitle":["Is It Enough?"],"short-title":[],"issued":{"date-parts":[[2016,6,30]]},"references-count":66,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2016,8,22]]}},"alternative-id":["10.1145\/2928268"],"URL":"https:\/\/doi.org\/10.1145\/2928268","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,6,30]]},"assertion":[{"value":"2015-08-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-06-30","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}