{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,30]],"date-time":"2026-05-30T00:26:03Z","timestamp":1780100763975,"version":"3.54.0"},"reference-count":66,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2014,2,1]],"date-time":"2014-02-01T00:00:00Z","timestamp":1391212800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000143","name":"Division of Computing and Communication Foundations","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100000143","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2014,2]]},"abstract":"<jats:p>\n            Oftentimes, during software maintenance the original program modularization decays, thus reducing its quality. One of the main reasons for such architectural erosion is suboptimal placement of source-code classes in software packages. To alleviate this issue, we propose an automated approach to help developers improve the quality of software modularization. Our approach analyzes underlying latent topics in source code as well as structural dependencies to recommend (and explain) refactoring operations aiming at moving a class to a more suitable package. The topics are acquired via Relational Topic Models (RTM), a probabilistic topic modeling technique. The resulting tool, coined as\n            <jats:italic>R<\/jats:italic>\n            3 (Rational Refactoring via RTM), has been evaluated in two empirical studies. The results of the first study conducted on nine software systems indicate that\n            <jats:italic>R<\/jats:italic>\n            3 provides a coupling reduction from 10% to 30% among the software modules. The second study with 62 developers confirms that\n            <jats:italic>R<\/jats:italic>\n            3 is able to provide meaningful recommendations (and explanations) for move class refactoring. Specifically, more than 70% of the recommendations were considered meaningful from a functional point of view.\n          <\/jats:p>","DOI":"10.1145\/2559935","type":"journal-article","created":{"date-parts":[[2014,2,18]],"date-time":"2014-02-18T14:08:32Z","timestamp":1392732512000},"page":"1-33","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":92,"title":["Improving software modularization via automated analysis of latent topics and dependencies"],"prefix":"10.1145","volume":"23","author":[{"given":"Gabriele","family":"Bavota","sequence":"first","affiliation":[{"name":"University of Salerno, Fisciano (SA), Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Malcom","family":"Gethers","sequence":"additional","affiliation":[{"name":"University of Maryland, Baltimore County, Baltimore, MD"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rocco","family":"Oliveto","sequence":"additional","affiliation":[{"name":"University of Molise, Pesche (IS), Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Denys","family":"Poshyvanyk","sequence":"additional","affiliation":[{"name":"The College of William and Mary, Williamsburg, VA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Andrea de","family":"Lucia","sequence":"additional","affiliation":[{"name":"University of Salerno, Fisciano (SA), Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2014,2,20]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2009.13"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2011.34"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the 6th Working Conference on Reverse Engineering. 235--255","author":"Anquetil N.","unstructured":"N. Anquetil and T. Lethbridge . 1999. Experiments with clustering as a software remodularization method . In Proceedings of the 6th Working Conference on Reverse Engineering. 235--255 . N. Anquetil and T. Lethbridge. 1999. Experiments with clustering as a software remodularization method. In Proceedings of the 6th Working Conference on Reverse Engineering. 235--255."},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the 9th International Workshop on Program Comprehension. 281--292","author":"Antoniol G.","unstructured":"G. Antoniol , M. Di Penta , G. Casazza , and E. Merlo . 2001. A method to re-organize legacy systems via concept analysis . In Proceedings of the 9th International Workshop on Program Comprehension. 281--292 . G. Antoniol, M. Di Penta, G. Casazza, and E. Merlo. 2001. A method to re-organize legacy systems via concept analysis. In Proceedings of the 9th International Workshop on Program Comprehension. 281--292."},{"key":"e_1_2_1_5_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_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2009.5069489"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449807"},{"key":"e_1_2_1_8_1","unstructured":"G. Bavota M. Gethers R. Oliveto and D. Poshyvanyk. 2012. Improving software modularization via automated analysis of latent topics and dependencies. http:\/\/distat.unimol.it\/reports\/r3\/.  G. Bavota M. Gethers R. Oliveto and D. Poshyvanyk. 2012. Improving software modularization via automated analysis of latent topics and dependencies. http:\/\/distat.unimol.it\/reports\/r3\/."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2010.29"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/944919.944937"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0950-5849(01)00149-5"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1214\/09-AOAS309"},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the 9th Working Conference on Mining Software Repositories.","author":"Chen T.","unstructured":"T. Chen , S. W. Thomas , M. Nagappan , and A. E. Hassan . 2012. Explaining software defects using topic models . In Proceedings of the 9th Working Conference on Mining Software Repositories. T. Chen, S. W. Thomas, M. Nagappan, and A. E. Hassan. 2012. Explaining software defects using topic models. In Proceedings of the 9th Working Conference on Mining Software Repositories."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(94)00049-S"},{"key":"e_1_2_1_15_1","volume-title":"Practical Nonparametric Statistics","author":"Conover W. J.","unstructured":"W. J. Conover . 1998. Practical Nonparametric Statistics 3 rd Ed. Wiley . W. J. Conover. 1998. Practical Nonparametric Statistics 3rd Ed. Wiley.","edition":"3"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2011.8"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2010.36"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2011.34"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233534"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2011.47"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.895984"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the IEEE International Conference on Software Maintenance (ICSM'99)","author":"Fanta R.","unstructured":"R. Fanta and V. Rajlich . 1999. Restructuring legacy c code into c&plus;&plus; . In Proceedings of the IEEE International Conference on Software Maintenance (ICSM'99) . 77--85. R. Fanta and V. Rajlich. 1999. Restructuring legacy c code into c&plus;&plus;. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM'99). 77--85."},{"key":"e_1_2_1_23_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 . M. Fowler. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley."},{"key":"e_1_2_1_24_1","unstructured":"M. Fowler. 2000. Refactoring catalog. http:\/\/refactoring.com\/catalog\/.  M. Fowler. 2000. Refactoring catalog. http:\/\/refactoring.com\/catalog\/."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2011.6080780"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2010.5609687"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985988"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2012.51"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the Genetic and Evolutionary Computation Conference. Morgan Kaufmann, San Fransisco.","author":"Harman M.","unstructured":"M. Harman , R. M. Hierons , and M. Proctor . 2002. A new representation and crossover operator for search-based optimization of software modularization . In Proceedings of the Genetic and Evolutionary Computation Conference. Morgan Kaufmann, San Fransisco. M. Harman, R. M. Hierons, and M. Proctor. 2002. A new representation and crossover operator for search-based optimization of software modularization. In Proceedings of the Genetic and Evolutionary Computation Conference. Morgan Kaufmann, San Fransisco."},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the IEEE International Conference on Software Maintenance. 339--348","author":"Hindle A.","unstructured":"A. Hindle , M. W. Godfrey , and R. C. Holt . 2009. What's hot and what's not: Windowed developer topic analysis . In Proceedings of the IEEE International Conference on Software Maintenance. 339--348 . A. Hindle, M. W. Godfrey, and R. C. Holt. 2009. What's hot and what's not: Windowed developer topic analysis. In Proceedings of the IEEE International Conference on Software Maintenance. 339--348."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2005.10.004"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2006.10.017"},{"key":"e_1_2_1_33_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_34_1","volume-title":"Proceedings of the International Conference on Software Quality. 81--90","author":"Lee Y.","unstructured":"Y. Lee , B. Liang , S. Wu , and F. Wang . 1995. Measuring the coupling and cohesion of an object-oriented program based on information flow . In Proceedings of the International Conference on Software Quality. 81--90 . Y. Lee, B. Liang, S. Wu, and F. Wang. 1995. Measuring the coupling and cohesion of an object-oriented program based on information flow. In Proceedings of the International Conference on Software Quality. 81--90."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(79)90022-0"},{"key":"e_1_2_1_36_1","doi-asserted-by":"crossref","unstructured":"T. C. Lethbridge and N. Anquetil. 2002. Approaches to clustering for program comprehension and remodularization. In Advances in Software Engineering Springer 137--157.   T. C. Lethbridge and N. Anquetil. 2002. Approaches to clustering for program comprehension and remodularization. In Advances in Software Engineering Springer 137--157.","DOI":"10.1007\/978-0-387-21599-0_7"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the 1st International Software Metrics Symposium (METRICS'93)","author":"Li W.","unstructured":"W. Li and S. Henry . 1993. Maintenance metrics for the object oriented paradigm . In Proceedings of the 1st International Software Metrics Symposium (METRICS'93) . 52--60. W. Li and S. Henry. 1993. Maintenance metrics for the object oriented paradigm. In Proceedings of the 1st International Software Metrics Symposium (METRICS'93). 52--60."},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of the 23rd International Conference on Software Engineering. 103--112","author":"Maletic J. I.","unstructured":"J. I. Maletic and A. Marcus . 2001. Supporting program comprehension using semantic and structural information . In Proceedings of the 23rd International Conference on Software Engineering. 103--112 . J. I. Maletic and A. Marcus. 2001. Supporting program comprehension using semantic and structural information. In Proceedings of the 23rd International Conference on Software Engineering. 103--112."},{"key":"e_1_2_1_39_1","volume-title":"Proccedings of the 6th International Workshop on Program Comprehension. IEEE Computer Society.","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 Proccedings of the 6th International Workshop on Program Comprehension. IEEE Computer Society. 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 Proccedings of the 6th International Workshop on Program Comprehension. IEEE Computer Society."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.70732"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2005.89"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2006.31"},{"key":"e_1_2_1_43_1","unstructured":"O. Nierstrasz S. Ducasse and S. Demeyer. 2003. Object-Oriented Reengineering Patterns. Morgan Kaufmann San Fransisco.   O. Nierstrasz S. Ducasse and S. Demeyer. 2003. Object-Oriented Reengineering Patterns. Morgan Kaufmann San Fransisco."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.5555\/1116163.1116409"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985913"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2010.20"},{"key":"e_1_2_1_47_1","volume-title":"Proceedings of the 35th IEEE\/ACM International Conference on Software Engineering (ICSE'13)","author":"Panichella A.","unstructured":"A. Panichella , B. Dit , R. Oliveto , M. Di Penta , D. Poshyvanyk , and A. De Lucia . 2013. How to effectively use topic models for software engineering tasks&quest; An approach based on genetic algorithms . In Proceedings of the 35th IEEE\/ACM International Conference on Software Engineering (ICSE'13) . A. Panichella, B. Dit, R. Oliveto, M. Di Penta, D. Poshyvanyk, and A. De Lucia. 2013. How to effectively use topic models for software engineering tasks&quest; An approach based on genetic algorithms. In Proceedings of the 35th IEEE\/ACM International Conference on Software Engineering (ICSE'13)."},{"key":"e_1_2_1_48_1","volume-title":"Proceedings of the 8th European Conference on Software Maintenance and Reengineering. IEEE Computer Society, 25--34","author":"Pashov I.","unstructured":"I. Pashov , M. Riebisch , and I. Philippow . 2004. Supporting architectural restructuring by analyzing feature models . In Proceedings of the 8th European Conference on Software Maintenance and Reengineering. IEEE Computer Society, 25--34 . I. Pashov, M. Riebisch, and I. Philippow. 2004. Supporting architectural restructuring by analyzing feature models. In Proceedings of the 8th European Conference on Software Maintenance and Reengineering. IEEE Computer Society, 25--34."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2006.67"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-008-9088-2"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.26"},{"key":"e_1_2_1_52_1","volume-title":"Software Engineering: A Practitioner's Approach","author":"Pressman R.","year":"1992","unstructured":"R. Pressman . 1992 . Software Engineering: A Practitioner's Approach 3 rd Ed. McGraw-Hill . R. Pressman. 1992. Software Engineering: A Practitioner's Approach 3rd Ed. McGraw-Hill.","edition":"3"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2010.5609654"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.v40:10"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/1068009.1068186"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1143997.1144315"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2003.1232289"},{"key":"e_1_2_1_58_1","volume-title":"Proceedings of the 17th IEEE International Conference on Program Comprehension. IEEE Computer Society Press, 248--252","author":"Shtern M.","unstructured":"M. Shtern and V. Tzerpos . 2009. Methods for selecting and improving software clustering algorithms . In Proceedings of the 17th IEEE International Conference on Program Comprehension. IEEE Computer Society Press, 248--252 . M. Shtern and V. Tzerpos. 2009. Methods for selecting and improving software clustering algorithms. In Proceedings of the 17th IEEE International Conference on Program Comprehension. IEEE Computer Society Press, 248--252."},{"key":"e_1_2_1_59_1","volume-title":"Software Engineering","author":"Sommerville I.","unstructured":"I. Sommerville . 2001. Software Engineering 6 th Ed. Addison-Wesley . I. Sommerville. 2001. Software Engineering 6th Ed. Addison-Wesley.","edition":"6"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2010.13"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985441.1985467"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.917524"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/302405.302629"},{"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","volume-title":"Structured Design: Foundamentals of a Discipline of Computer Program and System Design","author":"Yourdon E.","year":"1979","unstructured":"E. Yourdon and L. Constantine . 1979 . Structured Design: Foundamentals of a Discipline of Computer Program and System Design . Prentice-Hall . E. Yourdon and L. Constantine. 1979. Structured Design: Foundamentals of a Discipline of Computer Program and System Design. Prentice-Hall."}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2559935","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2559935","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:10:25Z","timestamp":1750234225000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2559935"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,2]]},"references-count":66,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2014,2]]}},"alternative-id":["10.1145\/2559935"],"URL":"https:\/\/doi.org\/10.1145\/2559935","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,2]]},"assertion":[{"value":"2011-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-01-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-02-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}