{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,14]],"date-time":"2026-01-14T22:46:29Z","timestamp":1768430789730,"version":"3.49.0"},"publisher-location":"Cham","reference-count":20,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030646936","type":"print"},{"value":"9783030646943","type":"electronic"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020]]},"DOI":"10.1007\/978-3-030-64694-3_16","type":"book-chapter","created":{"date-parts":[[2020,11,30]],"date-time":"2020-11-30T12:02:53Z","timestamp":1606737773000},"page":"261-276","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":16,"title":["How Do Developers Refactor Code to Improve Code Reusability?"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-1800-9268","authenticated-orcid":false,"given":"Eman Abdullah","family":"AlOmar","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Philip T.","family":"Rodriguez","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jordan","family":"Bowman","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tianjia","family":"Wang","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Benjamin","family":"Adepoju","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kevin","family":"Lopez","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christian","family":"Newman","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4708-0362","authenticated-orcid":false,"given":"Ali","family":"Ouni","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6010-7561","authenticated-orcid":false,"given":"Mohamed Wiem","family":"Mkaouer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2020,12,1]]},"reference":[{"key":"16_CR1","doi-asserted-by":"crossref","unstructured":"AlOmar, E., Mkaouer, M.W., Ouni, A.: Can refactoring be self-affirmed? An exploratory study on how developers document their refactoring activities in commit messages. In: 2019 IEEE\/ACM 3rd International Workshop on Refactoring (IWoR), pp. 51\u201358. IEEE (2019)","DOI":"10.1109\/IWoR.2019.00017"},{"key":"16_CR2","doi-asserted-by":"publisher","first-page":"110821","DOI":"10.1016\/j.jss.2020.110821","volume":"171","author":"EA AlOmar","year":"2020","unstructured":"AlOmar, E.A., Mkaouer, M.W., Ouni, A.: Toward the automatic classification of self-affirmed refactoring. J. Syst. Softw. 171, 110821 (2020)","journal-title":"J. Syst. Softw."},{"key":"16_CR3","doi-asserted-by":"crossref","unstructured":"AlOmar, E.A., Mkaouer, M.W., Ouni, A., Kessentini, M.: On the impact of refactoring on the relationship between quality attributes and design metrics. In: 2019 ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), pp. 1\u201311. IEEE (2019)","DOI":"10.1109\/ESEM.2019.8870177"},{"issue":"9","key":"16_CR4","doi-asserted-by":"publisher","first-page":"1319","DOI":"10.1016\/j.infsof.2009.04.002","volume":"51","author":"M Alshayeb","year":"2009","unstructured":"Alshayeb, M.: Empirical investigation of refactoring effect on software quality. Inf. Softw. Technol. 51(9), 1319\u20131326 (2009)","journal-title":"Inf. Softw. Technol."},{"issue":"6","key":"16_CR5","doi-asserted-by":"publisher","first-page":"476","DOI":"10.1109\/32.295895","volume":"20","author":"SR Chidamber","year":"1994","unstructured":"Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476\u2013493 (1994)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"16_CR6","doi-asserted-by":"crossref","unstructured":"Fakhoury, S., Roy, D., Hassan, A., Arnaoudova, V.: Improving source code readability: theory and practice. In: 2019 IEEE\/ACM 27th International Conference on Program Comprehension (ICPC), pp. 2\u201312. IEEE (2019)","DOI":"10.1109\/ICPC.2019.00014"},{"key":"16_CR7","volume-title":"Refactoring: Improving the Design of Existing Code","author":"M Fowler","year":"2018","unstructured":"Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Boston (2018)"},{"key":"16_CR8","unstructured":"Lorenz, M., Kidd, J.: Object-Oriented Software Metrics, vol. 131. Prentice Hall, Englewood Cliffs (1994)"},{"key":"16_CR9","doi-asserted-by":"publisher","first-page":"308","DOI":"10.1109\/TSE.1976.233837","volume":"4","author":"TJ McCabe","year":"1976","unstructured":"McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. 4, 308\u2013320 (1976)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"16_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"287","DOI":"10.1007\/11763864_21","volume-title":"Reuse of Off-the-Shelf Components","author":"R Moser","year":"2006","unstructured":"Moser, R., Sillitti, A., Abrahamsson, P., Succi, G.: Does refactoring improve reusability? In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 287\u2013297. Springer, Heidelberg (2006). https:\/\/doi.org\/10.1007\/11763864_21"},{"issue":"6","key":"16_CR11","doi-asserted-by":"publisher","first-page":"3219","DOI":"10.1007\/s10664-017-9512-6","volume":"22","author":"N Munaiah","year":"2017","unstructured":"Munaiah, N., Kroh, S., Cabrey, C., Nagappan, M.: Curating GitHub for engineered software projects. Empirical Softw. Eng. 22(6), 3219\u20133253 (2017). https:\/\/doi.org\/10.1007\/s10664-017-9512-6","journal-title":"Empirical Softw. Eng."},{"issue":"1","key":"16_CR12","doi-asserted-by":"publisher","first-page":"5","DOI":"10.1109\/TSE.2011.41","volume":"38","author":"E Murphy-Hill","year":"2012","unstructured":"Murphy-Hill, E., Parnin, C., Black, A.P.: How we refactor, and how we know it. IEEE Trans. Softw. Eng. 38(1), 5\u201318 (2012)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"16_CR13","unstructured":"Opdyke, W.F.: Refactoring object-oriented frameworks (1992)"},{"key":"16_CR14","doi-asserted-by":"crossref","unstructured":"Pantiuchina, J., Lanza, M., Bavota, G.: Improving code: the (mis) perception of quality metrics. In: 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 80\u201391. IEEE (2018)","DOI":"10.1109\/ICSME.2018.00017"},{"key":"16_CR15","doi-asserted-by":"publisher","first-page":"110704","DOI":"10.1016\/j.jss.2020.110704","volume":"169","author":"A Peruma","year":"2020","unstructured":"Peruma, A., Mkaouer, M.W., Decker, M.J., Newman, C.D.: Contextualizing rename decisions using refactorings, commit messages, and data types. J. Syst. Softw. 169, 110704 (2020)","journal-title":"J. Syst. Softw."},{"key":"16_CR16","doi-asserted-by":"crossref","unstructured":"Peruma, A., Newman, C.D., Mkaouer, M.W., Ouni, A., Palomba, F.: An exploratory study on the refactoring of unit test files in android applications. In: Conference on Software Engineering Workshops, ICSEW 2020 (2020)","DOI":"10.1145\/3387940.3392189"},{"key":"16_CR17","first-page":"411","volume":"19","author":"A Sharma","year":"2007","unstructured":"Sharma, A., Kumar, R., Grover, P.: A critical survey of reusability aspects for component-based systems. World Acad. Sci. Eng. Technol. 19, 411\u2013415 (2007)","journal-title":"World Acad. Sci. Eng. Technol."},{"key":"16_CR18","doi-asserted-by":"crossref","unstructured":"Stroggylos, K., Spinellis, D.: Refactoring-does it improve software quality? In: Fifth International Workshop on Software Quality (WoSQ 2007: ICSE Workshops 2007), p. 10. IEEE (2007)","DOI":"10.1109\/WOSQ.2007.11"},{"key":"16_CR19","doi-asserted-by":"crossref","unstructured":"Tsantalis, N., Mansouri, M., Eshkevari, L.M., Mazinanian, D., Dig, D.: Accurate and efficient refactoring detection in commit history. In: Proceedings of the 40th International Conference on Software Engineering, pp. 483\u2013494. ACM (2018)","DOI":"10.1145\/3180155.3180206"},{"issue":"6","key":"16_CR20","doi-asserted-by":"publisher","first-page":"80","DOI":"10.2307\/3001968","volume":"1","author":"F Wilcoxon","year":"1945","unstructured":"Wilcoxon, F.: Individual comparisons by ranking methods. Biom. Bull. 1(6), 80\u201383 (1945)","journal-title":"Biom. Bull."}],"container-title":["Lecture Notes in Computer Science","Reuse in Emerging Software Engineering Practices"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-64694-3_16","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,30]],"date-time":"2020-11-30T13:31:24Z","timestamp":1606743084000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-64694-3_16"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030646936","9783030646943"],"references-count":20,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-64694-3_16","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"1 December 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ICSR","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Software and Software Reuse","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Hammamet","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Tunisia","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2020","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2 December 2020","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"4 December 2020","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"icsr2020","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/icsr2020.wordpress.com\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Easychair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"60","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"16","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"27% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3.35","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}