{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,6]],"date-time":"2026-07-06T16:00:20Z","timestamp":1783353620336,"version":"3.54.6"},"reference-count":108,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2021,10,23]],"date-time":"2021-10-23T00:00:00Z","timestamp":1634947200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,10,23]],"date-time":"2021-10-23T00:00:00Z","timestamp":1634947200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2022,1]]},"DOI":"10.1007\/s10664-021-10045-x","type":"journal-article","created":{"date-parts":[[2021,10,23]],"date-time":"2021-10-23T06:02:43Z","timestamp":1634968963000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":65,"title":["How do i refactor this? An empirical study on refactoring trends and topics in Stack Overflow"],"prefix":"10.1007","volume":"27","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2585-657X","authenticated-orcid":false,"given":"Anthony","family":"Peruma","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3081-8500","authenticated-orcid":false,"given":"Steven","family":"Simmons","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1800-9268","authenticated-orcid":false,"given":"Eman Abdullah","family":"AlOmar","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8838-4074","authenticated-orcid":false,"given":"Christian D.","family":"Newman","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6010-7561","authenticated-orcid":false,"given":"Mohamed Wiem","family":"Mkaouer","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4708-0362","authenticated-orcid":false,"given":"Ali","family":"Ouni","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2021,10,23]]},"reference":[{"key":"10045_CR1","unstructured":"Stack Overflow (2020) Adding and removing additional documents with roslyn. https:\/\/stackoverflow.com\/questions\/43933933. (Accessed on 06\/05\/2020)"},{"key":"10045_CR2","unstructured":"Stack Overflow (2020) Automated refactor of myenum.myvalue.tostring() to nameof(myenum.myvalue). https:\/\/stackoverflow.com\/questions\/51482063. (Accessed on 06\/05\/2020)"},{"key":"10045_CR3","unstructured":"Stack Overflow (2020) Can this mvc code be refactored using a design pattern? https:\/\/stackoverflow.com\/questions\/9597529. (Accessed on 06\/05\/2020)"},{"key":"10045_CR4","unstructured":"Stack Overflow (2020) Complex refactor and version control with database projects. https:\/\/stackoverflow.com\/questions\/29132487. (Accessed on 06\/05\/2020)"},{"key":"10045_CR5","unstructured":"Stack Overflow (2020) How can i refactor this python code to make it more readable and compact? https:\/\/stackoverflow.com\/questions\/56925926. (Accessed on 06\/05\/2020)"},{"key":"10045_CR6","unstructured":"Stack Overflow (2020) How to refactor css grid for ie11 compatibility. https:\/\/stackoverflow.com\/questions\/53667530. (Accessed on 06\/05\/2020)"},{"key":"10045_CR7","unstructured":"Stack Overflow (2020) How to remove non-project files from refactorings in idea? https:\/\/stackoverflow.com\/questions\/49636340. (Accessed on 06\/05\/2020)"},{"key":"10045_CR8","unstructured":"Stack Overflow (2020) Making a thread-unsafe dll call in biztalk orchestration (or only running one orchestration at a time). https:\/\/stackoverflow.com\/questions\/7106884. (Accessed on 06\/05\/2020)"},{"key":"10045_CR9","unstructured":"Stack Overflow (2020) Newest questions - stack overflow. https:\/\/stackoverflow.com\/questions. (Accessed on 06\/14\/2020)"},{"key":"10045_CR10","unstructured":"Stack Overflow (2020) Performance issue - refactor select subqueries which are doing the same joins. https:\/\/stackoverflow.com\/questions\/59950019. (Accessed on 06\/05\/2020)"},{"key":"10045_CR11","unstructured":"Stack Overflow (2020) Php refactoring, too many methods in class? https:\/\/stackoverflow.com\/questions\/31029037. (Accessed on 06\/05\/2020)"},{"key":"10045_CR12","unstructured":"Stack Overflow (2020) Popularity of programming language index. http:\/\/pypl.github.io\/PYPL.html. (Accessed on 11\/03\/2020)"},{"key":"10045_CR13","unstructured":"Project website (2021) https:\/\/www.scanl.org\/"},{"key":"10045_CR14","unstructured":"Stack Overflow (2020) Refactoring switch statement for data to different types of data - stack overflow. https:\/\/stackoverflow.com\/questions\/4299770\/refactoring-switch-statement-for-data-to-different-types-of-data. (Accessed on 06\/05\/2020)"},{"key":"10045_CR15","unstructured":"Stack Overflow (2020) Rename\/refactor database elements - only scripts exists but not database. https:\/\/stackoverflow.com\/questions\/46043341. (Accessed on 06\/05\/2020)"},{"key":"10045_CR16","unstructured":"Stack Overflow (2020) ruby on rails - how can i know which columns in my table are considered unique? - stack overflow. https:\/\/stackoverflow.com\/questions\/20929619. (Accessed on 06\/05\/2020)"},{"key":"10045_CR17","unstructured":"Stack Overflow (2020) Scala refactoring. https:\/\/stackoverflow.com\/questions\/33958310. (Accessed on 06\/05\/2020)"},{"key":"10045_CR18","unstructured":"Stack Overflow (2020) State of the stack 2019: A year in review - stack overflow blog. https:\/\/stackoverflow.blog\/2019\/01\/18\/state-of-the-stack-2019-a-year-in-review\/. (Accessed on 06\/14\/2020)"},{"key":"10045_CR19","unstructured":"Stack Overflow (2020) Tdd and refactoring the \u201dsystem under test\u201d. https:\/\/stackoverflow.com\/questions\/38334608. (Accessed on 06\/05\/2020)"},{"key":"10045_CR20","unstructured":"Stack Overflow (2020) Top ide index. https:\/\/pypl.github.io\/IDE.html. (Accessed on 11\/03\/2020)"},{"key":"10045_CR21","unstructured":"Stack Overflow (2020) What refactoring tools do you use for python? https:\/\/stackoverflow.com\/questions\/28796. (Accessed on 06\/05\/2020)"},{"key":"10045_CR22","doi-asserted-by":"publisher","unstructured":"Abdellatif A, Costa D, Badran K, Abdalkareem R, Shihab E (2020) Challenges in chatbot development: A study of stack overflow posts. In: Proceedings of the 17th international conference on mining software repositories, MSR \u201920. https:\/\/doi.org\/10.1145\/3379597.3387472. Association for Computing Machinery, New York, pp 174\u2013185","DOI":"10.1145\/3379597.3387472"},{"key":"10045_CR23","doi-asserted-by":"publisher","unstructured":"Ahmed S, Bagherzadeh M (2018) What do concurrency developers ask about? a large-scale study using stack overflow. In: Proceedings of the 12th ACM\/IEEE international symposium on empirical software engineering and measurement, ESEM \u201918. Association for Computing Machinery, New York. https:\/\/doi.org\/10.1145\/3239235.3239524","DOI":"10.1145\/3239235.3239524"},{"key":"10045_CR24","doi-asserted-by":"publisher","unstructured":"Aljedaani W, Peruma A, Aljohani A, Alotaibi M, Mkaouer M, Ouni A, Newman C, Ghallab A, Ludi S (2021) Test smell detection tools: A systematic mapping study. In: Evaluation and assessment in software engineering, EASE 2021. https:\/\/doi.org\/10.1145\/3463274.3463335. Association for Computing Machinery, New York, pp 170\u2013180","DOI":"10.1145\/3463274.3463335"},{"key":"10045_CR25","doi-asserted-by":"publisher","unstructured":"Allamanis M, Barr ET, Bird C, Sutton C (2014) Learning natural coding conventions. In: Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering, FSE 2014. https:\/\/doi.org\/10.1145\/2635868.2635883. Association for Computing Machinery, New York, pp 281\u2013293","DOI":"10.1145\/2635868.2635883"},{"key":"10045_CR26","doi-asserted-by":"crossref","unstructured":"Allamanis M, Sutton C (2013) Why, when, and what: Analyzing stack overflow questions by topic, type, and code. In: Proceedings of the 10th working conference on mining software repositories, MSR \u201913. IEEE Press, pp 53\u201356","DOI":"10.1109\/MSR.2013.6624004"},{"key":"10045_CR27","doi-asserted-by":"publisher","unstructured":"AlOmar E, Mkaouer MW, Ouni A (2019) 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. https:\/\/doi.org\/10.1109\/IWoR.2019.00017","DOI":"10.1109\/IWoR.2019.00017"},{"key":"10045_CR28","doi-asserted-by":"crossref","unstructured":"AlOmar E, Mkaouer M, Ouni A (2020) Toward the automatic classification of self-affirmed refactoring. J Syst Softw :110821","DOI":"10.1016\/j.jss.2020.110821"},{"key":"10045_CR29","doi-asserted-by":"crossref","unstructured":"AlOmar E, Mkaouer M, Ouni A, Kessentini M (2019) 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). IEEE, pp 1\u201311","DOI":"10.1109\/ESEM.2019.8870177"},{"key":"10045_CR30","doi-asserted-by":"crossref","unstructured":"AlOmar E, Peruma A, Mkaouer M, Newman C, Ouni A, Kessentini M (2020) How we refactor and how we document it? on the use of supervised machine learning algorithms to classify refactoring documentation. Expert Syst Appl :114176","DOI":"10.1016\/j.eswa.2020.114176"},{"key":"10045_CR31","doi-asserted-by":"crossref","unstructured":"AlOmar E, Rodriguez PT, Bowman J, Wang T, Adepoju B, Lopez K, Newman C, Ouni A, Mkaouer M (2020) How do developers refactor code to improve code reusability?. In: 19th International conference on software and software reuse. Springer, pp 261\u2013276","DOI":"10.1007\/978-3-030-64694-3_16"},{"key":"10045_CR32","doi-asserted-by":"crossref","unstructured":"Alrubaye H, Alshoaibi D, Alomar E, Mkaouer M, Ouni A (2020) How does library migration impact software quality and comprehension? an empirical study. In: International conference on software and software reuse. Springer, pp 245\u2013260","DOI":"10.1007\/978-3-030-64694-3_15"},{"key":"10045_CR33","doi-asserted-by":"crossref","unstructured":"Alshangiti M, Sapkota H, Murukannaiah PK, Liu X, Yu Q (2019) Why is developing machine learning applications challenging? a study on stack overflow posts. In: 2019 ACM\/IEEE international symposium on empirical software engineering and measurement (ESEM). pp 1\u201311","DOI":"10.1109\/ESEM.2019.8870187"},{"key":"10045_CR34","unstructured":"Ambler S, Sadalage P (2006) Refactoring databases: evolutionary database design. Addison-Wesley Signature Series (Fowler). Pearson Education"},{"issue":"1","key":"10045_CR35","doi-asserted-by":"publisher","first-page":"104","DOI":"10.1007\/s10664-014-9350-8","volume":"21","author":"V Arnaoudova","year":"2016","unstructured":"Arnaoudova V, Di Penta M, Antoniol G (2016) Linguistic antipatterns: what they are and how developers perceive them. Empir Softw Eng 21 (1):104\u2013158. https:\/\/doi.org\/10.1007\/s10664-014-9350-8","journal-title":"Empir Softw Eng"},{"issue":"5","key":"10045_CR36","doi-asserted-by":"publisher","first-page":"502","DOI":"10.1109\/TSE.2014.2312942","volume":"40","author":"V Arnaoudova","year":"2014","unstructured":"Arnaoudova V, Eshkevari LM, Penta MD, Oliveto R, Antoniol G, Gu\u00e9h\u00e9neuc Y (2014) Repent: Analyzing the nature of identifier renamings. IEEE Trans Softw Eng 40(5):502\u2013532","journal-title":"IEEE Trans Softw Eng"},{"key":"10045_CR37","doi-asserted-by":"publisher","unstructured":"Bagherzadeh M, Khatchadourian R (2019) Going big: A large-scale study on what big data developers ask. In: Proceedings of the 2019 27th ACM joint meeting on european software engineering conference and symposium on the foundations of software engineering, ESEC\/FSE 2019. https:\/\/doi.org\/10.1145\/3338906.3338939. Association for Computing Machinery, New York, pp 432\u2013442","DOI":"10.1145\/3338906.3338939"},{"key":"10045_CR38","doi-asserted-by":"publisher","unstructured":"Baltes S, Dumani L, Treude C, Diehl S (2018) Sotorrent: reconstructing and analyzing the evolution of stack overflow posts. In: Zaidman A, Kamei Y, Hill E (eds) Proceedings of the 15th international conference on mining software repositories, MSR 2018, Gothenburg, Sweden, May 28-29, 2018. ACM, pp 319\u2013330. https:\/\/doi.org\/10.1145\/3196398.3196430","DOI":"10.1145\/3196398.3196430"},{"key":"10045_CR39","doi-asserted-by":"publisher","unstructured":"Bandeira A, Medeiros CA, Paixao M, Maia PH (2019) We need to talk about microservices: An analysis from the discussions on stackoverflow. In: Proceedings of the 16th international conference on mining software repositories, MSR \u201919. IEEE Press, pp 255\u2013259. https:\/\/doi.org\/10.1109\/MSR.2019.00051","DOI":"10.1109\/MSR.2019.00051"},{"key":"10045_CR40","doi-asserted-by":"publisher","unstructured":"Bangash AA, Sahar H, Chowdhury S, Wong AW, Hindle A, Ali K (2019) What do developers know about machine learning: A study of ml discussions on stackoverflow. In: Proceedings of the 16th International conference on mining software repositories, MSR \u201919. IEEE Press, pp 260\u2013264. https:\/\/doi.org\/10.1109\/MSR.2019.00052","DOI":"10.1109\/MSR.2019.00052"},{"issue":"3","key":"10045_CR41","doi-asserted-by":"publisher","first-page":"619","DOI":"10.1007\/s10664-012-9231-y","volume":"19","author":"A Barua","year":"2014","unstructured":"Barua A, Thomas SW, Hassan AE (2014) What are developers talking about? an analysis of topics and trends in stack overflow. Empir Softw Eng 19 (3):619\u2013654. https:\/\/doi.org\/10.1007\/s10664-012-9231-y","journal-title":"Empir Softw Eng"},{"key":"10045_CR42","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/j.jss.2015.05.024","volume":"107","author":"G Bavota","year":"2015","unstructured":"Bavota G, De Lucia A, Di Penta M, Oliveto R, Palomba F (2015) An experimental investigation on the innate relationship between quality and refactoring. J Syst Softw 107:1\u201314","journal-title":"J Syst Softw"},{"key":"10045_CR43","doi-asserted-by":"crossref","unstructured":"Bavota G, De Lucia A, Marcus A, Oliveto R (2014) Recommending refactoring operations in large software systems. In: Recommendation systems in software engineering. Springer, pp 387\u2013419","DOI":"10.1007\/978-3-642-45135-5_15"},{"key":"10045_CR44","unstructured":"Bird S (2002) Nltk: The natural language toolkit. ArXiv cs.CL\/0205028"},{"issue":"null","key":"10045_CR45","first-page":"993","volume":"3","author":"DM Blei","year":"2003","unstructured":"Blei DM, Ng AY, Jordan MI (2003) Latent dirichlet allocation. J Mach Learn Res 3(null):993\u20131022","journal-title":"J Mach Learn Res"},{"issue":"4","key":"10045_CR46","doi-asserted-by":"publisher","first-page":"546","DOI":"10.1109\/TSE.2009.70","volume":"36","author":"RP Buse","year":"2009","unstructured":"Buse RP, Weimer WR (2009) Learning a metric for code readability. IEEE Trans Softw Eng 36(4):546\u2013558","journal-title":"IEEE Trans Softw Eng"},{"key":"10045_CR47","doi-asserted-by":"crossref","unstructured":"Cedrim D, Sousa L, Garcia A, Gheyi R (2016) Does refactoring improve software structural quality? a longitudinal study of 25 projects. In: Proceedings of the 30th Brazilian symposium on software engineering. ACM, pp 73\u201382","DOI":"10.1145\/2973839.2973848"},{"key":"10045_CR48","doi-asserted-by":"publisher","unstructured":"Ch\u00e1vez A., Ferreira I, Fernandes E, Cedrim D, Garcia A (2017) How does refactoring affect internal quality attributes? a multi-project study. In: Proceedings of the 31st Brazilian symposium on software engineering, SBES\u201917. https:\/\/doi.org\/10.1145\/3131151.3131171. Association for Computing Machinery, New York, pp 74\u201383","DOI":"10.1145\/3131151.3131171"},{"key":"10045_CR49","doi-asserted-by":"crossref","unstructured":"Choi E, Yoshida N, Kula RG, Inoue K (2015) What do practitioners ask about code clone? a preliminary investigation of stack overflow. In: 2015 IEEE 9th international workshop on software clones (IWSC), pp. 49\u201350","DOI":"10.1109\/IWSC.2015.7069890"},{"key":"10045_CR50","unstructured":"Dorn J (2012) A general software readability model. MCS Thesis available from (http:\/\/www.cs.virginia.edu\/weimer\/students\/dorn-mcs-paper.pdf) 5, 11\u201314"},{"key":"10045_CR51","doi-asserted-by":"publisher","unstructured":"Du Bois B, Demeyer S, Verelst J (2004) Refactoring - improving coupling and cohesion of existing code. In: 11th working conference on reverse engineering, pp 144\u2013151. https:\/\/doi.org\/10.1109\/WCRE.2004.33","DOI":"10.1109\/WCRE.2004.33"},{"key":"10045_CR52","doi-asserted-by":"publisher","unstructured":"Eilertsen AM, Murphy GC (2021) The usability (or not) of refactoring tools. In: 2021 IEEE international conference on software analysis, evolution and reengineering (SANER), pp 237\u2013248. https:\/\/doi.org\/10.1109\/SANER50967.2021.00030","DOI":"10.1109\/SANER50967.2021.00030"},{"key":"10045_CR53","doi-asserted-by":"crossref","unstructured":"Fakhoury S, Roy D, Hassan SA, Arnaoudova V (2019) Improving source code readability: theory and practice. In: Proceedings of the 27th international conference on program comprehension.IEEE Press, pp 2\u201312","DOI":"10.1109\/ICPC.2019.00014"},{"issue":"2","key":"10045_CR54","first-page":"5","volume":"11","author":"FA Fontana","year":"2012","unstructured":"Fontana FA, Braione P, Zanoni M (2012) Automatic detection of bad smells in code: An experimental assessment. J Object Technol 11(2):5\u20131","journal-title":"J Object Technol"},{"key":"10045_CR55","doi-asserted-by":"publisher","unstructured":"Fontana FA, Mangiacavalli M, Pochiero D, Zanoni M (2015) On experimenting refactoring tools to remove code smells. In: Scientific workshop proceedings of the XP2015, XP \u201915 workshops. Association for Computing Machinery, New York. https:\/\/doi.org\/10.1145\/2764979.2764986","DOI":"10.1145\/2764979.2764986"},{"key":"10045_CR56","unstructured":"Fowler M (2018) Refactoring: improving the design of existing code, Addison-Wesley Professional, Reading"},{"key":"10045_CR57","unstructured":"Johnston B, Jones A, Kruger C (2019) Applied Unsupervised Learning with Python: Discover hidden patterns and relationships in unstructured data with Python. Packt Publishing"},{"key":"10045_CR58","doi-asserted-by":"crossref","unstructured":"Jones A (2018) Probability, statistics and other frightening stuff. Working Guides to Estimating & Forecasting Taylor & Francis","DOI":"10.4324\/9781315160061"},{"key":"10045_CR59","volume-title":"Speech and language processing: An introduction to natural language processing, computational linguistics, and speech recognition. Prentice Hall series in artificial intelligence","author":"D Jurafsky","year":"2009","unstructured":"Jurafsky D, Martin J (2009) Speech and language processing: An introduction to natural language processing, computational linguistics, and speech recognition. Prentice Hall series in artificial intelligence. Pearson Prentice Hall, Prentince"},{"issue":"7","key":"10045_CR60","doi-asserted-by":"publisher","first-page":"654","DOI":"10.1109\/TSE.2002.1019480","volume":"28","author":"T Kamiya","year":"2002","unstructured":"Kamiya T, Kusumoto S, Inoue K (2002) Ccfinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans Softw Eng 28(7):654\u2013670","journal-title":"IEEE Trans Softw Eng"},{"key":"10045_CR61","doi-asserted-by":"crossref","unstructured":"Kim M, Gee M, Loh A, Rachatasumrit N (2010) Ref-finder: a refactoring reconstruction tool based on logic query templates. In: Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering. ACM, pp 371\u2013372","DOI":"10.1145\/1882291.1882353"},{"issue":"7","key":"10045_CR62","doi-asserted-by":"publisher","first-page":"633","DOI":"10.1109\/TSE.2014.2318734","volume":"40","author":"M Kim","year":"2014","unstructured":"Kim M, Zimmermann T, Nagappan N (2014) An empirical study of refactoring challenges and benefits at microsoft. IEEE Trans Softw Eng 40(7):633\u2013649. https:\/\/doi.org\/10.1109\/TSE.2014.2318734","journal-title":"IEEE Trans Softw Eng"},{"key":"10045_CR63","doi-asserted-by":"publisher","unstructured":"Lambiase S, Cupito A, Pecorelli F, De Lucia A, Palomba F (2020) Just-in-time test smell detection and refactoring: The darts project. In: Proceedings of the 28th international conference on program comprehension, ICPC \u201920. https:\/\/doi.org\/10.1145\/3387904.3389296. Association for Computing Machinery, New York, pp 441\u2013445","DOI":"10.1145\/3387904.3389296"},{"key":"10045_CR64","unstructured":"Lane H, Hapke H, Howard C (2019) Natural language processing in action, understanding, analyzing, and generating text with python. Manning Publications Company"},{"issue":"9","key":"10045_CR65","doi-asserted-by":"publisher","first-page":"887","DOI":"10.1109\/TSE.2015.2427831","volume":"41","author":"H Liu","year":"2015","unstructured":"Liu H, Liu Q, Liu Y, Wang Z (2015) Identifying renaming opportunities by expanding conducted rename refactorings. IEEE Trans Softw Eng 41 (9):887\u2013900","journal-title":"IEEE Trans Softw Eng"},{"key":"10045_CR66","doi-asserted-by":"crossref","unstructured":"Mazinanian D, Tsantalis N, Stein R, Valenta Z (2016) Jdeodorant: clone refactoring. In: Proceedings of the 38th international conference on software engineering companion. pp 613\u2013616","DOI":"10.1145\/2889160.2889168"},{"issue":"2","key":"10045_CR67","doi-asserted-by":"publisher","first-page":"126","DOI":"10.1109\/TSE.2004.1265817","volume":"30","author":"T Mens","year":"2004","unstructured":"Mens T, Tourwe T (2004) A survey of software refactoring. IEEE Trans Softw Eng 30(2):126\u2013139. https:\/\/doi.org\/10.1109\/TSE.2004.1265817","journal-title":"IEEE Trans Softw Eng"},{"issue":"3","key":"10045_CR68","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2729974","volume":"24","author":"W Mkaouer","year":"2015","unstructured":"Mkaouer W, Kessentini M, Shaout A, Koligheu P, Bechikh S, Deb K, Ouni A (2015) Many-objective software remodularization using nsga-iii. ACM Trans Softw Eng Methodol (TOSEM) 24(3):1\u201345","journal-title":"ACM Trans Softw Eng Methodol (TOSEM)"},{"key":"10045_CR69","doi-asserted-by":"crossref","unstructured":"Moghadam IH, Cinn\u00e9ide M\u00d3, Zarepour F, Jahanmir MA (2021) Refdetect: A multi-language refactoring detection tool based on string alignment. IEEE Access","DOI":"10.1109\/ACCESS.2021.3086689"},{"key":"10045_CR70","doi-asserted-by":"crossref","unstructured":"Moser R, Sillitti A, Abrahamsson P, Succi G (2006) Does refactoring improve reusability?. In: International conference on software reuse. Springer, pp 287\u2013297","DOI":"10.1007\/11763864_21"},{"issue":"1","key":"10045_CR71","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 AP (2012) How we refactor, and how we know it. IEEE Trans Softw Eng 38(1):5\u201318. https:\/\/doi.org\/10.1109\/TSE.2011.41","journal-title":"IEEE Trans Softw Eng"},{"key":"10045_CR72","doi-asserted-by":"publisher","unstructured":"Openja M, Adams B, Khomh F (2020) Analysis of modern release engineering topics : \u2013 a large-scale study using stackoverflow \u2013. In: 2020 IEEE international conference on software maintenance and evolution (ICSME). pp 104\u2013114. https:\/\/doi.org\/10.1109\/ICSME46990.2020.00020","DOI":"10.1109\/ICSME46990.2020.00020"},{"issue":"3","key":"10045_CR73","doi-asserted-by":"publisher","first-page":"23","DOI":"10.1145\/2932631","volume":"25","author":"A Ouni","year":"2016","unstructured":"Ouni A, Kessentini M, Sahraoui H, Inoue K, Deb K (2016) Multi-criteria code refactoring using search-based software engineering: An industrial case study. ACM Trans Softw Eng Methodol (TOSEM) 25(3):23","journal-title":"ACM Trans Softw Eng Methodol (TOSEM)"},{"key":"10045_CR74","doi-asserted-by":"crossref","unstructured":"Palomba F, Bavota G, Di Penta M, Oliveto R, De Lucia A, Poshyvanyk D (2013) Detecting bad smells in source code using change history information. In: 2013 28th IEEE\/ACM international conference on automated software engineering (ASE). IEEE, pp 268\u2013278","DOI":"10.1109\/ASE.2013.6693086"},{"key":"10045_CR75","doi-asserted-by":"crossref","unstructured":"Pantiuchina J, Lanza M, Bavota G (2018) Improving code: The (mis) perception of quality metrics. In: 2018 IEEE international conference on software maintenance and evolution (ICSME). IEEE, pp 80\u201391","DOI":"10.1109\/ICSME.2018.00017"},{"key":"10045_CR76","doi-asserted-by":"publisher","unstructured":"Pantiuchina J, Zampetti F, Scalabrino S, Piantadosi V, Oliveto R, Bavota G, Penta MD (2020) Why developers refactor source code: A mining-based study. ACM Trans Softw Eng Methodol 29(4). https:\/\/doi.org\/10.1145\/3408302","DOI":"10.1145\/3408302"},{"key":"10045_CR77","doi-asserted-by":"crossref","unstructured":"Peruma A (2019) A preliminary study of android refactorings. In: 2019 IEEE\/ACM 6th international conference on mobile software engineering and systems (MOBILESoft). pp 148\u2013149","DOI":"10.1109\/MOBILESoft.2019.00030"},{"key":"10045_CR78","doi-asserted-by":"crossref","unstructured":"Peruma A, Arnaoudova V, Newman C (2021) Ideal: An open-source identifier name appraisal tool. In: 2021 IEEE international conference on software maintenance and evolution (ICSME), ICSME \u201921","DOI":"10.1109\/ICSME52107.2021.00064"},{"key":"10045_CR79","doi-asserted-by":"publisher","unstructured":"Peruma A, Hu E, Chen J, AlOmar E, Mkaouer M, Newman C (2021) Using grammar patterns to interpret test method name evolution. In: 2021 2021 IEEE\/ACM 29th international conference on program comprehension (ICPC) (ICPC). https:\/\/doi.org\/10.1109\/ICPC52881.2021.00039. IEEE Computer Society, Los Alamitos, pp 335\u2013346","DOI":"10.1109\/ICPC52881.2021.00039"},{"key":"10045_CR80","doi-asserted-by":"publisher","unstructured":"Peruma A, Mkaouer M, Decker MJ, Newman C (2018) An empirical investigation of how and why developers rename identifiers. In: Proceedings of the 2nd international workshop on refactoring, iWoR 2018. https:\/\/doi.org\/10.1145\/3242163.3242169. Association for Computing Machinery, New York, pp 26\u201333","DOI":"10.1145\/3242163.3242169"},{"key":"10045_CR81","doi-asserted-by":"publisher","unstructured":"Peruma A, Mkaouer M, Decker MJ, Newman C (2020) Contextualizing rename decisions using refactorings, commit messages, and data types, vol 169. https:\/\/doi.org\/10.1016\/j.jss.2020.110704. http:\/\/www.sciencedirect.com\/science\/article\/pii\/S0164121220301503","DOI":"10.1016\/j.jss.2020.110704"},{"key":"10045_CR82","doi-asserted-by":"publisher","unstructured":"Pinto GH, Kamei F (2013) What programmers say about refactoring tools? an empirical investigation of stack overflow. In: Proceedings of the 2013 ACM workshop on workshop on refactoring tools, WRT \u201913. https:\/\/doi.org\/10.1145\/2541348.2541357. Association for Computing Machinery, New York, pp 33\u201336","DOI":"10.1145\/2541348.2541357"},{"key":"10045_CR83","doi-asserted-by":"crossref","unstructured":"Posnett D, Hindle A, Devanbu P (2011) A simpler model of software readability. In: Proceedings of the 8th working conference on mining software repositories. pp 73\u201382","DOI":"10.1145\/1985441.1985454"},{"issue":"4","key":"10045_CR84","doi-asserted-by":"publisher","first-page":"253","DOI":"10.1002\/(SICI)1096-9942(1997)3:4<253::AID-TAPO3>3.0.CO;2-T","volume":"3","author":"D Roberts","year":"1997","unstructured":"Roberts D, Brant J, Johnson R (1997) A refactoring tool for smalltalk. Theory Pract Object Syst 3(4):253\u2013263","journal-title":"Theory Pract Object Syst"},{"key":"10045_CR85","doi-asserted-by":"publisher","unstructured":"R\u00f6der M., Both A, Hinneburg A (2015) Exploring the space of topic coherence measures. In: Proceedings of the eighth ACM international conference on web search and data mining, WSDM \u201915. https:\/\/doi.org\/10.1145\/2684822.2685324. ACM, New York, pp 399\u2013408","DOI":"10.1145\/2684822.2685324"},{"issue":"3","key":"10045_CR86","doi-asserted-by":"publisher","first-page":"1192","DOI":"10.1007\/s10664-015-9379-3","volume":"21","author":"C Rosen","year":"2016","unstructured":"Rosen C, Shihab E (2016) What are mobile developers asking about? a large scale study using stack overflow. Empir Softw Eng 21(3):1192\u20131223. https:\/\/doi.org\/10.1007\/s10664-015-9379-3","journal-title":"Empir Softw Eng"},{"issue":"7","key":"10045_CR87","doi-asserted-by":"publisher","first-page":"470","DOI":"10.1016\/j.scico.2009.02.007","volume":"74","author":"CK Roy","year":"2009","unstructured":"Roy CK, Cordy JR, Koschke R (2009) Comparison and evaluation of code clone detection techniques and tools: A qualitative approach. Sci Comput Program 74(7):470\u2013495","journal-title":"Sci Comput Program"},{"key":"10045_CR88","doi-asserted-by":"publisher","unstructured":"Samarthyam G, Suryanarayana G, Sharma T (2016) Refactoring for software architecture smells. In: Proceedings of the 1st international workshop on software refactoring, IWoR 2016. https:\/\/doi.org\/10.1145\/2975945.2975946. Association for Computing Machinery, New York, pp 1\u20134","DOI":"10.1145\/2975945.2975946"},{"issue":"6","key":"10045_CR89","doi-asserted-by":"publisher","first-page":"e1958","DOI":"10.1002\/smr.1958","volume":"30","author":"S Scalabrino","year":"2018","unstructured":"Scalabrino S, Linares-V\u00e1squez M., Oliveto R, Poshyvanyk D (2018) A comprehensive model for code readability. J Softw Evol Process 30(6):e1958","journal-title":"J Softw Evol Process"},{"key":"10045_CR90","doi-asserted-by":"crossref","unstructured":"Sievert C, Shirley K (2014) Ldavis: A method for visualizing and interpreting topics. In: Proceedings of the workshop on interactive language learning, visualization, and interfaces. pp 63\u201370","DOI":"10.3115\/v1\/W14-3110"},{"key":"10045_CR91","doi-asserted-by":"crossref","unstructured":"Silva D, Silva J, Santos GJDS, Terra R, Valente MTO (2020) Refdiff 2.0: A multi-language refactoring detection tool. IEEE Trans on Softw Eng","DOI":"10.1109\/TSE.2020.2968072"},{"key":"10045_CR92","doi-asserted-by":"publisher","unstructured":"Silva D, Tsantalis N, Valente MT (2016) Why we refactor? confessions of github contributors. In: Proceedings of the 2016 24th ACM SIGSOFT international symposium on foundations of software engineering, FSE 2016. https:\/\/doi.org\/10.1145\/2950290.2950305. Association for Computing Machinery, New York, pp 858\u2013870","DOI":"10.1145\/2950290.2950305"},{"key":"10045_CR93","unstructured":"Spectrum I (2020) The top programming languages 2016. https:\/\/spectrum.ieee.org\/static\/interactive-the-top-programming-languages-2016. (Accessed on 06\/05\/2020)"},{"key":"10045_CR94","unstructured":"Spectrum I (2020) The top programming languages 2017. https:\/\/spectrum.ieee.org\/computing\/software\/the-2017-top-programming-languages. (Accessed on 06\/05\/2020)"},{"key":"10045_CR95","unstructured":"Spectrum I (2020) The top programming languages 2018. https:\/\/spectrum.ieee.org\/static\/interactive-the-top-programming-languages-2018. (Accessed on 06\/05\/2020)"},{"key":"10045_CR96","unstructured":"Spectrum I (2020) The top programming languages 2019. https:\/\/spectrum.ieee.org\/static\/interactive-the-top-programming-languages-2019. (Accessed on 06\/05\/2020)"},{"key":"10045_CR97","doi-asserted-by":"crossref","unstructured":"Taeger D, Kuhnt S (2014) Statistical Hypothesis Testing with SAS and R Wiley","DOI":"10.1002\/9781118762585"},{"key":"10045_CR98","doi-asserted-by":"crossref","unstructured":"Tahir A, Dietrich J, Counsell S, Licorish S, Yamashita A (2020) A large scale study on how developers discuss code smells and anti-pattern in stack exchange sites. Inform Softw Technol :106333","DOI":"10.1016\/j.infsof.2020.106333"},{"key":"10045_CR99","doi-asserted-by":"publisher","unstructured":"Tahir A, Yamashita A, Licorish S, Dietrich J, Counsell S (2018) Can you tell me if it smells? a study on how developers discuss code smells and anti-patterns in stack overflow. In: Proceedings of the 22nd international conference on evaluation and assessment in software engineering 2018, EASE\u201918. https:\/\/doi.org\/10.1145\/3210459.3210466. Association for Computing Machinery, New York, pp 68\u201378","DOI":"10.1145\/3210459.3210466"},{"key":"10045_CR100","doi-asserted-by":"publisher","unstructured":"Tang Y, Khatchadourian R, Bagherzadeh M, Ahmed S (2018) Towards safe refactoring for intelligent parallelization of java 8 streams. In: Proceedings of the 40th international conference on software engineering: companion proceeedings, ICSE \u201918. https:\/\/doi.org\/10.1145\/3183440.3195098. Association for Computing Machinery, New York, pp 206\u2013207","DOI":"10.1145\/3183440.3195098"},{"key":"10045_CR101","volume-title":"Mixed methodology: combining qualitative and quantitative approaches. Applied Social Research Methods","author":"A Tashakkori","year":"1998","unstructured":"Tashakkori A, Teddlie C, Teddlie C (1998) Mixed methodology: combining qualitative and quantitative approaches. Applied Social Research Methods. SAGE Publications, Philadelphia"},{"key":"10045_CR102","doi-asserted-by":"crossref","unstructured":"Tian F, Liang P, Babar MA (2019) How developers discuss architecture smells? an exploratory study on stack overflow. In: 2019 IEEE international conference on software architecture (ICSA). pp 91\u2013100","DOI":"10.1109\/ICSA.2019.00018"},{"key":"10045_CR103","doi-asserted-by":"crossref","unstructured":"Tsantalis N, Mansouri M, Eshkevari LM, Mazinanian D, Dig D (2018) Accurate and efficient refactoring detection in commit history. In: Proceedings of the 40th international conference on software engineering. ACM","DOI":"10.1145\/3180155.3180206"},{"key":"10045_CR104","doi-asserted-by":"publisher","unstructured":"Villanes IK, Ascate SM, Gomes J, Dias-Neto AC (2017) What are software engineers asking about android testing on stack overflow?. In: Proceedings of the 31st Brazilian symposium on software engineering, SBES\u201917. https:\/\/doi.org\/10.1145\/3131151.3131157. Association for Computing Machinery, New York, pp 104\u2013113","DOI":"10.1145\/3131151.3131157"},{"key":"10045_CR105","doi-asserted-by":"publisher","unstructured":"Wang S, Lo D, Jiang L (2013) An empirical study on developer interactions in stackoverflow. In: Proceedings of the 28th annual ACM symposium on applied computing, SAC \u201913. https:\/\/doi.org\/10.1145\/2480362.2480557. Association for Computing Machinery, New York, pp 1019\u20131024","DOI":"10.1145\/2480362.2480557"},{"issue":"1","key":"10045_CR106","first-page":"27","volume":"1","author":"D Wilking","year":"2007","unstructured":"Wilking D, Kahn UF, Kowalewski S (2007) An empirical evaluation of refactoring. e-Informatica 1(1):27\u201342","journal-title":"e-Informatica"},{"key":"10045_CR107","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-29044-2","volume-title":"Experimentation in software engineering","author":"C Wohlin","year":"2012","unstructured":"Wohlin C, Runeson P, H\u00f6st M, Ohlsson MC, Regnell B, Wessl\u00e9n A (2012) Experimentation in software engineering. Springer Science & Business Media, Berlin"},{"issue":"5","key":"10045_CR108","doi-asserted-by":"publisher","first-page":"910","DOI":"10.1007\/s11390-016-1672-0","volume":"31","author":"XL Yang","year":"2016","unstructured":"Yang XL, Lo D, Xia X, Wan ZY, Sun JL (2016) What security questions do developers ask? a large-scale study of stack overflow posts. J Comput Sci Technol 31(5):910\u2013924. https:\/\/doi.org\/10.1007\/s11390-016-1672-0","journal-title":"J Comput Sci Technol"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-021-10045-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-021-10045-x\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-021-10045-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,26]],"date-time":"2022-01-26T08:07:10Z","timestamp":1643184430000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-021-10045-x"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,10,23]]},"references-count":108,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2022,1]]}},"alternative-id":["10045"],"URL":"https:\/\/doi.org\/10.1007\/s10664-021-10045-x","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,10,23]]},"assertion":[{"value":"1 September 2021","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"23 October 2021","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}],"article-number":"11"}}