{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T04:03:51Z","timestamp":1775016231802,"version":"3.50.1"},"reference-count":55,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"5","license":[{"start":{"date-parts":[[2015,5,1]],"date-time":"2015-05-01T00:00:00Z","timestamp":1430438400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2015,5,1]],"date-time":"2015-05-01T00:00:00Z","timestamp":1430438400000},"content-version":"am","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2015,5,1]],"date-time":"2015-05-01T00:00:00Z","timestamp":1430438400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2015,5,1]],"date-time":"2015-05-01T00:00:00Z","timestamp":1430438400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"funder":[{"name":"EU","award":["FP7-ICT-2011-8"],"award-info":[{"award-number":["FP7-ICT-2011-8"]}]},{"name":"grants","award":["CCF-1253837"],"award-info":[{"award-number":["CCF-1253837"]}]},{"name":"grants","award":["CCF-1218129"],"award-info":[{"award-number":["CCF-1218129"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IIEEE Trans. Software Eng."],"published-print":{"date-parts":[[2015,5,1]]},"DOI":"10.1109\/tse.2014.2372760","type":"journal-article","created":{"date-parts":[[2014,11,20]],"date-time":"2014-11-20T20:48:46Z","timestamp":1416516526000},"page":"462-489","source":"Crossref","is-referenced-by-count":218,"title":["Mining Version Histories for Detecting Code Smells"],"prefix":"10.1109","volume":"41","author":[{"given":"Fabio","family":"Palomba","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gabriele","family":"Bavota","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Massimiliano Di","family":"Penta","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rocco","family":"Oliveto","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Denys","family":"Poshyvanyk","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andrea","family":"De Lucia","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"263","reference":[{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2013.6693086"},{"key":"ref38","first-page":"1461","article-title":"The use of development history in software refactoring using a multi-objective evolutionary algorithm","author":"ouni","year":"0","journal-title":"Proc 15th Annu Conf Genet Evol Comput"},{"key":"ref33","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.50"},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233837"},{"key":"ref31","first-page":"244","article-title":"Experiment on the automatic detection of function clones in a software system using metrics","author":"mayrand","year":"0","journal-title":"Proc Int Conf Softw Maintenance"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2004.1357820"},{"key":"ref37","author":"oppenheim","year":"1992","journal-title":"Questionnaire Design Interviewing and Attitude Measurement"},{"key":"ref36","first-page":"248","article-title":"Numerical signatures of antipatterns: An approach based on b-splines","author":"oliveto","year":"0","journal-title":"Proc Conf Software Maintenance and Reeng"},{"key":"ref35","first-page":"15","article-title":"Product metrics for automatic identification of &#x2018;bad smell&#x2019; design problems in Java source-code","author":"munro","year":"0","journal-title":"Proc 11th IEEE Int'l Software Metrics Symp"},{"key":"ref34","doi-asserted-by":"publisher","DOI":"10.1145\/1862372.1862381"},{"key":"ref28","first-page":"392","article-title":"Identification of refused bequest code smells","author":"ligu","year":"0","journal-title":"Proc IEEE Intern Conf on Software Maintenance"},{"key":"ref27","first-page":"1120","article-title":"An empirical study of the bad smells and class error probability in the post-release object-oriented system evolution","author":"li","year":"80","journal-title":"J Syst Softw"},{"key":"ref29","first-page":"31","article-title":"Assessing the impact of bad smells using historical information","author":"lozano","year":"0","journal-title":"Proc 9th Int Workshop Principles Softw Evol Conjunction 6th ESEC\/FSE Joint Meeting"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806846"},{"key":"ref1","first-page":"181","article-title":"An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension","author":"abbes","year":"0","journal-title":"Proc European Conf Software Maintenance and Reeng"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-012-9233-9"},{"key":"ref22","first-page":"113","article-title":"Deviance from perfection is a better criterion than closeness to evil when identifying risky code","author":"kessentini","year":"0","journal-title":"Proc IEEE\/ACM Int Conf Autom Softw Eng"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2002.1019480"},{"key":"ref24","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-011-9171-y"},{"key":"ref23","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2009.28"},{"key":"ref26","author":"lanza","year":"2006","journal-title":"Object-Oriented Metrics in Practice Using Software Metrics to Characterize Evaluate and Improve the Design of Object-Oriented Systems"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1109\/QSIC.2009.47"},{"key":"ref50","author":"webster","year":"1995","journal-title":"Pitfalls of Object Oriented Development"},{"key":"ref51","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2012.6405287"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2004.1317478"},{"key":"ref54","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2005.72"},{"key":"ref53","first-page":"574","article-title":"Predicting source code changes by mining change history","author":"ying","year":"9","journal-title":"IEEE Trans Softw Eng"},{"key":"ref52","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606614"},{"key":"ref10","first-page":"213","article-title":"On the use of line co-change for identifying crosscutting concern code","author":"canfora","year":"0","journal-title":"Proc 22nd IEEE Int'l Conf Software Maintenance"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1109\/QUATIC.2010.16"},{"key":"ref40","article-title":"HIST: Replication,&#x201D; package http:\/\/dx.doi.org\/10.6084\/m9.figshare.1157374","author":"palomba","year":"2014"},{"key":"ref12","first-page":"134","article-title":"An xml-based lightweight c++ fact extractor","author":"collard","year":"0","journal-title":"Proc 11th Int l Workshop Program Comprehension"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985989"},{"key":"ref14","author":"fowler","year":"1999","journal-title":"Refactoring Improving the Design of Existing Code"},{"key":"ref15","first-page":"190","article-title":"Detection of logical coupling based on product release history","author":"gall","year":"0","journal-title":"Proc 14th IEEE Int'l Conf Software Maintenance"},{"key":"ref16","first-page":"430","article-title":"Integrated impact analysis for managing software changes","author":"gethers","year":"0","journal-title":"Proc 34th IEEE\/ACM Int Conf Softw Eng"},{"key":"ref17","first-page":"83","article-title":"Using concept analysis to detect co-change patterns","author":"g\u00eerba","year":"0","journal-title":"Proc 9th Int Workshop Principles Softw Evol Conjunction 6th ESEC\/FSE Joint Meeting"},{"key":"ref18","first-page":"96","article-title":"DECKARD: Scalable and accurate tree-based detection of code clones","author":"jiang","year":"0","journal-title":"Proc Int Conf Softw Eng"},{"key":"ref19","first-page":"119","article-title":"Blending conceptual and evolutionary couplings to support change impact analysis in source code","author":"kagdi","year":"0","journal-title":"Proceedings of the 17th Working Conference on Reverse Engineering"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1145\/1984732.1984740"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1145\/170035.170072"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1177\/001872679905200401"},{"key":"ref5","author":"baeza-yates","year":"1999","journal-title":"Modern Information Retrieval"},{"key":"ref8","first-page":"50","article-title":"Competitive coevolutionary code-smells detection","author":"boussaa","year":"0","journal-title":"Proc 5th IEEE Symp Search Based Softw Eng"},{"key":"ref7","article-title":"Automating extract class refactoring: An improved method and its evaluation","author":"bavota","year":"2013","journal-title":"Empir Softw Eng"},{"key":"ref49","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2002.1173068"},{"key":"ref9","author":"brown","year":"1998","journal-title":"Anti Patterns Refactoring Software Architectures and Projects in Crisis"},{"key":"ref46","first-page":"30","article-title":"Metrics based refactoring","author":"simon","year":"0","journal-title":"Proc 5th European Conf Software Maintenance and Reengineering"},{"key":"ref45","author":"riel","year":"1996","journal-title":"Object-Oriented Design Heuristics"},{"key":"ref48","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.1"},{"key":"ref47","first-page":"47","article-title":"Detecting defects in object-oriented designs: Using reading techniques to increase software quality","author":"travassos","year":"0","journal-title":"Proc 14th Conf Object-Oriented Programming Syst Lang Appl"},{"key":"ref42","article-title":"Detecting bad smells in object oriented design using design change propagation probability matrix","author":"rao","year":"0","journal-title":"Proc Int Multiconf Eng Comput Sci"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2012.79"},{"key":"ref44","first-page":"223","article-title":"Using history information to improve design flaws detection","author":"ratiu","year":"0","journal-title":"Proc European Conf Software Maintenance and Reeng"},{"key":"ref43","article-title":"Software design versioning using propagation probability matrix","author":"rao","year":"2005"}],"container-title":["IEEE Transactions on Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/ieeexplore.ieee.org\/ielaam\/32\/7106034\/6963448-aam.pdf","content-type":"application\/pdf","content-version":"am","intended-application":"syndication"},{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/32\/7106034\/06963448.pdf?arnumber=6963448","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,4,8]],"date-time":"2022-04-08T18:48:19Z","timestamp":1649443699000},"score":1,"resource":{"primary":{"URL":"http:\/\/ieeexplore.ieee.org\/document\/6963448\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,5,1]]},"references-count":55,"journal-issue":{"issue":"5"},"URL":"https:\/\/doi.org\/10.1109\/tse.2014.2372760","relation":{},"ISSN":["0098-5589","1939-3520"],"issn-type":[{"value":"0098-5589","type":"print"},{"value":"1939-3520","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,5,1]]}}}