{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:41:43Z","timestamp":1750308103661,"version":"3.41.0"},"reference-count":15,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2005,5,17]],"date-time":"2005-05-17T00:00:00Z","timestamp":1116288000000},"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":["SIGSOFT Softw. Eng. Notes"],"published-print":{"date-parts":[[2005,7]]},"abstract":"<jats:p>\n            Refactoring is one means of improving the structure of existing software. Locations for the application of refactoring are often based on subjective perceptions such as \"bad smells\", which are vague suspicions of design shortcomings. We exploit historical data extracted from repositories such as CVS and focus on change couplings: if some software parts change at the same time very often over several releases, this data can be used to point to candidates for refactoring. We adopt the concept of bad smells and provide additional\n            <jats:italic>change smells.<\/jats:italic>\n            Such a smell is hardly visible in the code, but easy to spot when viewing the change history. Our approach enables the detection of such smells allowing an engineer to apply refactoring on these parts of the source code to improve the evolvability of the software. For that, we analyzed the history of a large industrial system for a period of 15 months, proposed spots for refactorings based on change couplings, and performed them with the developers. After observing the system for another 15 months we finally analyzed the effectiveness of our approach. Our results support our hypothesis that the combination of change dependency analysis and refactoring is applicable and effective.\n          <\/jats:p>","DOI":"10.1145\/1082983.1083155","type":"journal-article","created":{"date-parts":[[2005,11,7]],"date-time":"2005-11-07T19:28:32Z","timestamp":1131391712000},"page":"1-5","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Improving evolvability through refactoring"],"prefix":"10.1145","volume":"30","author":[{"given":"Jacek","family":"Ratzinger","sequence":"first","affiliation":[{"name":"Vienna University of Technology, Vienna, Austria"}]},{"given":"Michael","family":"Fischer","sequence":"additional","affiliation":[{"name":"Vienna University of Technology, Vienna, Austria"}]},{"given":"Harald","family":"Gall","sequence":"additional","affiliation":[{"name":"University of Zurich, Zurich, Switzerland"}]}],"member":"320","published-online":{"date-parts":[[2005,5,17]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.5555\/579736"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/602461.602502"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.5555\/942800.943568"},{"key":"e_1_2_1_4_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler M.","year":"1999","unstructured":"M. Fowler . Refactoring: Improving the Design of Existing Code . Addison-Wesley , June 1999 . M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, June 1999."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/942803.943741"},{"key":"e_1_2_1_6_1","first-page":"336","volume-title":"Proc. 16th Int. Conf. on Software Engineering and Knowledge Engineering","author":"German D. M.","year":"2004","unstructured":"D. M. German , A. Hindle , and N. Jordan . Visualizing the evolution of software using softchange . Proc. 16th Int. Conf. on Software Engineering and Knowledge Engineering , pages 336 -- 341 , June 2004 . D. M. German, A. Hindle, and N. Jordan. Visualizing the evolution of software using softchange. Proc. 16th Int. Conf. on Software Engineering and Knowledge Engineering, pages 336--341, June 2004."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1049\/ic:20040477"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.799945"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1002\/bltj.2229"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1007512.1007524"},{"key":"e_1_2_1_11_1","volume-title":"Evolens: Lens-view visualizations of evolution data","author":"Ratzinger J.","year":"2004","unstructured":"J. Ratzinger , M. Fischer , and H. Gall . Evolens: Lens-view visualizations of evolution data . Technical Report : Vienna University of Technology , December 2004 . J. Ratzinger, M. Fischer, and H. Gall. Evolens: Lens-view visualizations of evolution data. Technical Report: Vienna University of Technology, December 2004."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/794203.795287"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.132.0115"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/882506.885134"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/998675.999460"}],"container-title":["ACM SIGSOFT Software Engineering Notes"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1082983.1083155","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1082983.1083155","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:08:05Z","timestamp":1750262885000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1082983.1083155"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,5,17]]},"references-count":15,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2005,7]]}},"alternative-id":["10.1145\/1082983.1083155"],"URL":"https:\/\/doi.org\/10.1145\/1082983.1083155","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/1083142.1083155","asserted-by":"subject"}]},"ISSN":["0163-5948"],"issn-type":[{"type":"print","value":"0163-5948"}],"subject":[],"published":{"date-parts":[[2005,5,17]]},"assertion":[{"value":"2005-05-17","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}