The DOI matches its Crossref record; 32 of the 32 references it cites were found in a registry or an index.
Use, disuse, and misuse of automated refactorings
Abstract
Though refactoring tools have been available for more than a decade, research has shown that programmers underutilize such tools. However, little is known about why programmers do not take advantage of these tools. We have conducted a field study on programmers in their natural settings working on their code. As a result, we collected a set of interaction data from about 1268 hours of programming using our minimally intrusive data collectors. Our quantitative data show that programmers prefer lightweight methods of invoking refactorings, usually perform small changes using the refactoring tool, proceed with an automated refactoring even when it may change the behavior of the program, and rarely preview the automated refactorings. We also interviewed nine of our participants to provide deeper insight about the patterns that we observed in the behavioral data. We found that programmers use predictable automated refactorings even if they have rare bugs or change the behavior of the program. This paper reports some of the factors that affect the use of automated refactorings such as invocation method, awareness, naming, trust, and predictability and the major mismatches between programmers' expectations and automated refactorings. The results of this work contribute to producing more effective tools for refactoring complex software.
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
In the citing paper
“Prior studies also reported that software architects and developers primarily rely on manual efforts for large-scale refactoring activities, with minor support from disjoint tools [37, 71, 104].”
From Software Architecture in Practice: Challenges and Opportunities (2023) · cites this paper as [104]
Citations
Cites
Basics of Qualitative Research (3rd ed.): Techniques and Procedures for Developing Grounded Theory
Corbin, J., & Strauss, A. (2008) · SAGE · doi:10.4135/9781452230153 · Cited by 12,136
Trust in Automation: Designing for Appropriate Reliance
Lee, J. D., & See, K. A. (2004) · Human Factors: The Journal of the Human Factors and Ergonomics Society · doi:10.1518/hfes.46.1.50_30392 · Cited by 6,605
Humans and automation: Use, misuse, disuse, abuse
Parasuraman, R., & Riley, V. (1997) · Human Factors: The Journal of the Human Factors and Ergonomics Society · doi:10.1518/001872097778543886 · Cited by 4,554
Refactoring improving the design of existing code
Saca, M. A. (2017) · IEEE Central America and Panama Convention (CONCAPAN) · doi:10.1109/concapan.2017.8278488 · Cited by 2,077
Refactoring object-oriented frameworks
Opdyke, W. F. (1992) · Cited by 1,014
A few billion lines of code later
Bessey, A., Block, K., Chelf, B., Chou, A., Fulton, B., Hallem, S., Henri-Gros, C., Kamsky, A., McPeak, S., & Engler, D. (2010) · Communications of the ACM · doi:10.1145/1646353.1646374 · Cited by 634
Detection strategies: metrics-based rules for detecting design flaws
Marinescu, R. (2004) · Proceedings/Proceedings - Conference on Software Maintenance · doi:10.1109/icsm.2004.1357820 · Cited by 552
How We Refactor, and How We Know It
Murphy-Hill, E., Parnin, C., & Black, A. P. (2012) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2011.41 · Cited by 547
How are Java software developers using the Eclipse IDE?
Murphy, G. C., Kersten, M., & Findlater, L. (2006) · IEEE Software · doi:10.1109/ms.2006.105 · Cited by 413
The costs and benefits of pair programming
Cockburn, A., & Williams, L. A. (2001) · Cited by 403
Research works printed but not linked: 10
- 0, Eclipse Documentation on Refactoring Wizard
- 0, ReSharper
- 0, Eclipse Usage Data
- tsantalis, 2010, Evaluation and Improvement of Software Architecture Identification of Design Problems in Object- Oriented Systems and Resolution Through Refactorings
- beck, 2010, eXtreme Programming Explained
- 0, Xcode
- 0, Eclipse
- 10.1518/hfes.46.1.50.30392 · DOI · Paper page
- 0, IntelliJ IDEA
- 0, Netbeans
Cited by
Sorted by citations
Code smells and refactoring: A tertiary systematic review of challenges and observations
Lacerda, G., Petrillo, F. D. S., Pimenta, M. S., & Guéhéneuc, Y. (2020) · Journal of Systems and Software · doi:10.1016/j.jss.2020.110610 · Cited by 250
An Empirical Study of RefactoringChallenges and Benefits at Microsoft
Kim, M., Zimmermann, T., & Nagappan, N. (2014) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2014.2318734 · Cited by 231
A Comparative Study of Manual and Automated Refactorings
Negara, S., Chen, N., Vakilian, M., Johnson, R. E., & Dig, D. (2013) · Lecture notes in computer science · doi:10.1007/978-3-642-39038-8_23 · Cited by 154
Self-citationIs It Dangerous to Use Version Control Histories to Study Source Code Evolution?
Negara, S., Vakilian, M., Chen, N., Johnson, R. E., & Dig, D. (2012) · Lecture notes in computer science · doi:10.1007/978-3-642-31057-7_5 · Cited by 100
Self-citationRatol, I. K., & Robillard, M. P. (2017) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.2017.8115624 · Cited by 75
Towards an Autonomous Bot for Automatic Source Code Refactoring
Wyrich, M., & Bogner, J. (2019) · IEEE/ACM International Workshop on Bots in Software Engineering (BotSE) · doi:10.1109/botse.2019.00015 · Cited by 71
Visualization of fine-grained code change history
Yoon, Y., Myers, B. A., & Koo, S. (2013) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2013.6645254 · Cited by 71
RefBot: Intelligent Software Refactoring Bot
Alizadeh, V., Ouali, M. A., Kessentini, M., & Chater, M. (2019) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.2019.00081 · Cited by 58
Scripting parametric refactorings in Java to retrofit design patterns
Kim, J.-W., Batory, D. S., & Dig, D. (2015) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2015.7332467 · Cited by 56
The Design Space of Bug Fixes and How Developers Navigate It
Murphy-Hill, E. R., Zimmermann, T., Bird, C., & Nagappan, N. (2014) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2014.2357438 · Cited by 55
Program transformations to fix C integers
Coker, Z., & Hafiz, M. (2013) · doi:10.5555/2486788.2486892 · Cited by 52
Comparing approaches to analyze refactoring activity on software repositories
Soares, G., Gheyi, R., Murphy-Hill, E. R., & Johnson, B. (2012) · Journal of Systems and Software · doi:10.1016/j.jss.2012.10.040 · Cited by 50
Systematic Testing of Refactoring Engines on Real Software Projects
Gligoric, M., Behrang, F., Li, Y., Overbey, J. L., Hafiz, M., & Marinov, D. (2013) · Lecture notes in computer science · doi:10.1007/978-3-642-39038-8_26 · Cited by 47
One thousand and one stories: a large-scale survey of software refactoring
Golubev, Y., Kurbatova, Z., AlOmar, E. A., Bryksin, T., & Mkaouer, M. W. (2021) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/3468264.3473924 · Cited by 45
Program transformations to fix C integers
Coker, Z., & Hafiz, M. (2013) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2013.6606625 · Cited by 38
Razzaq, A., Buckley, J., Lai, Q., Yu, T., & Botterweck, G. (2025) · ACM Computing Surveys · doi:10.1145/3687299 · Cited by 36
Code Transformation Issues in Move-Instance-Method Refactorings
Kim, J.-W., Batory, D. S., & Gligoric, M. (2019) · IEEE/ACM International Workshop on Refactoring (IWoR) · doi:10.1109/iwor.2019.00011 · Cited by 35
Extracting and analyzing time-series HCI data from screen-captured task videos
Bao, L., Li, J., Xing, Z., Wang, X., Xia, X., & Zhou, B. (2016) · Empirical Software Engineering · doi:10.1007/s10664-015-9417-1 · Cited by 35
Revisiting the refactoring mechanics
Oliveira, J., Gheyi, R., Mongiovi, M., Soares, G., Ribeiro, M., & Garcia, A. (2019) · Information and Software Technology · doi:10.1016/j.infsof.2019.03.002 · Cited by 35
Drag-and-Drop Refactoring: Intuitive and Efficient Program Transformation
Lee, Y. Y., Chen, N., & Johnson, R. E. (2012) · Illinois Digital Environment for Access to Learning and Scholarship (University of Illinois at Urbana-Champaign) · Cited by 34
Self-citationA Compositional Paradigm of Automating Refactorings
Vakilian, M., Chen, N., Moghaddam, R. Z., Negara, S., & Johnson, R. E. (2013) · Lecture notes in computer science · doi:10.1007/978-3-642-39038-8_22 · Cited by 33
Self-citationSoftware Architecture in Practice: Challenges and Opportunities
Wan, Z., Zhang, Y., Xia, X., Jiang, Y., & Lo, D. (2023) · Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3611643.3616367 · Cited by 30
“The difficulty in such activities manifests itself in a variety of ways, e.g., increased cost, complex implementation, and highly scattered code changes.”
BackgroundAutomatically Fixing C Buffer Overflows Using Program Transformations
Shaw, A., Doggett, D. J., & Hafiz, M. (2014) · International Conference on Dependable Systems & Networks/Proceedings · doi:10.1109/dsn.2014.25 · Cited by 29
Tempero, E. D., Gorschek, T., & Angelis, L. (2017) · Communications of the ACM · doi:10.1145/3131873 · Cited by 27
Refactoring Inspection Support for Manual Refactoring Edits
Alves, E. L. G., Song, M., Massoni, T. L., Machado, P. D. L., & Kim, M. (2017) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2017.2679742 · Cited by 26
Inference of development activities from interaction with uninstrumented applications
Bao, L., Xing, Z., Xia, X., Lo, D., & Hassan, A. E. (2018) · Empirical Software Engineering · doi:10.1007/s10664-017-9547-8 · Cited by 25
Mining commit messages to enhance software refactorings recommendation: A machine learning approach
Nyamawe, A. S. (2022) · Machine Learning with Applications · doi:10.1016/j.mlwa.2022.100316 · Cited by 25
Identification, Impact, and Refactoring of Smells in Pipe-Like Web Mashups
Stolee, K. T., & Elbaum, S. G. (2013) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2013.42 · Cited by 25
Interactive Extraction of Examples from Existing Code
Head, A., Glassman, E. L., Hartmann, B., & Hearst, M. A. (2018) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/3173574.3173659 · Cited by 25
Vaithilingam, P., Glassman, E. L., Groenwegen, P., Gulwani, S., Henley, A. Z., Malpani, R., Pugh, D., Radhakrishna, A., Soares, G., Wang, J., et al. (2023) · IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP) · doi:10.1109/icse-seip58684.2023.00022 · Cited by 37
Drag-and-drop refactoring: Intuitive and efficient program transformation
Lee, Y. Y., Chen, N., & Johnson, R. E. (2013) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2013.6606548 · Cited by 24
Self-citationSingh, N., & Singh, P. (2017) · Asia-Pacific Software Engineering Conference (APSEC) · doi:10.1109/apsec.2017.79 · Cited by 25
Behind the Intent of Extract Method Refactoring: A Systematic Literature Review
AlOmar, E. A., Mkaouer, M. W., & Ouni, A. (2024) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2023.3345800 · Cited by 21
Mayer, P., & Schroeder, A. (2014) · Lecture notes in computer science · doi:10.1007/978-3-662-44202-9_18 · Cited by 20
Heard it through the Gitvine: an empirical study of tool diffusion across the npm ecosystem
Lamba, H., Trockman, A., Armanios, D. E., Kästner, C., Miller, H., & Vasilescu, B. (2020) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/3368089.3409705 · Cited by 20
Prioritizing test cases for early detection of refactoring faults
Alves, E. L. G., Machado, P. D. L., Massoni, T. L., & Kim, M. (2016) · Software Testing Verification and Reliability · doi:10.1002/stvr.1603 · Cited by 19
Reverse engineering time-series interaction data from screen-captured videos
Bao, L., Li, J., Xing, Z., Wang, X., & Zhou, B. (2015) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner.2015.7081850 · Cited by 17
Feedback-driven semi-supervised synthesis of program transformations
Gao, X. Y., Barke, S., Radhakrishna, A., Soares, G., Gulwani, S., Leung, A., Nagappan, N., & Tiwari, A. (2020) · Proceedings of the ACM on Programming Languages · doi:10.1145/3428287 · Cited by 17
Assessing refactorings for usability in e-commerce applications
Grigera, J., Garrido, A., Panach, J. I., Distante, D., & Rossi, G. H. (2015) · Empirical Software Engineering · doi:10.1007/s10664-015-9384-6 · Cited by 17
Changes as First-Class Citizens
Soetens, Q. D., Robbes, R., & Demeyer, S. (2017) · ACM Computing Surveys · doi:10.1145/3038926 · Cited by 16
The Usability (or Not) of Refactoring Tools
Eilertsen, A. M., & Murphy, G. C. (2021) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner50967.2021.00030 · Cited by 16
Development History Granularity Transformations (N)
Muşlu, K., Swart, L., Brun, Y., & Ernst, M. D. (2015) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.2015.53 · Cited by 15
Lau, J., Sivaraman, A., Zhang, Q., Gulzar, M. A., Cong, J., & Kim, M. (2020) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3377811.3380340 · Cited by 15
Soares, V., Oliveira, A., Pereira, J. A., Bibiano, A. C., Garcia, A., Farah, P. R., Vergílio, S. R., Schots, M., Silva, C., COUTINHO, D. J. B., et al. (2020) · Brazilian Symposium on Software Engineering · doi:10.1145/3422392.3422439 · Cited by 15
Overwatch: learning patterns in code edit sequences
Zhang, Y., Bajpai, Y., Gupta, P., Ketkar, A., Allamanis, M., Barik, T., Gulwani, S., Radhakrishna, A., Raza, M., Soares, G., et al. (2022) · Proceedings of the ACM on Programming Languages · doi:10.1145/3563302 · Cited by 15
Steimann, F. (2018) · ACM Transactions on Programming Languages and Systems · doi:10.1145/3156016 · Cited by 15
On the Customization of Batch Refactoring
Oliveira, D., Bibiano, A. C., & Garcia, A. (2019) · IEEE/ACM International Workshop on Refactoring (IWoR) · doi:10.1109/iwor.2019.00010 · Cited by 15
A Practical Guide to Analyzing IDE Usage Data
Snipes, W., Murphy-Hill, E., Fritz, T., Vakilian, M., Damevski, K., Nair, A. R., & Shepherd, D. (2015) · The Art and Science of Analyzing Software Data · doi:10.1016/b978-0-12-411519-4.00005-7 · Cited by 14
Self-citationGraph Based Mining of Code Change Patterns from Version Control Commits
Janke, M., & Mäder, P. (2020) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2020.3004892 · Cited by 14
Improving the success rate of applying the extract method refactoring
Alcocer, J. P. S., Antezana, A. S., Santos, G., & Bergel, A. (2020) · Science of Computer Programming · doi:10.1016/j.scico.2020.102475 · Cited by 14
Muslim, H., Leung, C. K., & Itoh, M. (2022) · Accident Analysis & Prevention · doi:10.1016/j.aap.2022.106719 · Cited by 13
The untold story of code refactoring customizations in practice
Oliveira, D., Assunção, W. K. G., Garcia, A., Bibiano, A. C., Ribeiro, M., Gheyi, R., & Fonseca, B. (2023) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse48619.2023.00021 · Cited by 13
Refactoring tools for functional languages
Thompson, S., & Li, H. (2013) · Journal of Functional Programming · doi:10.1017/s0956796813000117 · Cited by 13
Yestercode: Improving code-change support in visual dataflow programming environments
Henley, A. Z., & Fleming, S. D. (2016) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2016.7739672 · Cited by 12
Untangling the Knot: Enabling Architecture Evolution with Search-Based Refactoring
Ivers, J., Seifried, C., & Özkaya, İ. (2022) · IEEE International Conference on Software Architecture (ICSA) · doi:10.1109/icsa53651.2022.00018 · Cited by 12
Cascade: A Universal Programmer-Assisted Type Qualifier Inference Tool
Vakilian, M., Phaosawasdi, A., Ernst, M. D., & Johnson, R. E. (2015) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2015.44 · Cited by 11
Self-citationTool Support for Managing Clone Refactorings to Facilitate Code Review in Evolving Software
Chen, Z., Mohanavilasam, M. M., Kwon, Y., & Song, M. (2017) · IEEE Annual International Computer Software and Applications Conference (COMPSAC) · doi:10.1109/compsac.2017.242 · Cited by 10
Chen, Z., Kwon, Y., & Song, M. (2018) · Journal of Software Evolution and Process · doi:10.1002/smr.1951 · Cited by 9
Unveiling process insights from refactoring practices
Caldeira, J., Abreu, F. B. E., Cardoso, J., & dos Reis, J. P. (2021) · Computer Standards & Interfaces · doi:10.1016/j.csi.2021.103587 · Cited by 10
A study on developer perception of transformation languages for refactoring
Newman, C. D., Mkaouer, M. W., Collard, M. L., & Maletic, J. I. (2018) · doi:10.1145/3242163.3242170 · Cited by 8
On understanding how developers use the Spotter search tool
Kubelka, J., Bergel, A., Chiș, A., Gîrba, T., Reichhart, S., Robbes, R., & Syrel, A. (2015) · IEEE Working Conference on Software Visualization (VISSOFT) · doi:10.1109/vissoft.2015.7332426 · Cited by 8
Refactoring operations Grounded in manual code changes
Eilertsen, A. M. (2020) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3377812.3381395 · Cited by 8
“To Clean Code or Not to Clean Code” A Survey Among Practitioners
Ljung, K., & González‐Huerta, J. (2022) · Lecture notes in computer science · doi:10.1007/978-3-031-21388-5_21 · Cited by 8
Revisiting Refactoring Mechanics from Tool Developers’ Perspective
Oliveira, J., Gheyi, R., Pontes, F., Mongiovi, M., Ribeiro, M., & Garcia, A. (2020) · Lecture notes in computer science · doi:10.1007/978-3-030-63882-5_3 · Cited by 8
Embedding programming context into source code
Breckel, A., & Tichy, M. (2016) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1109/icpc.2016.7503732 · Cited by 7
Improving regression test efficiency with an awareness of refactoring changes
Chen, Z., Guo, H.-F., & Song, M. (2018) · Information and Software Technology · doi:10.1016/j.infsof.2018.07.003 · Cited by 7
System-Wide Trust: The Impact of an Error in a Multi-component System
O’Hear, E. H., Atchley, A., Gholston, S. E., Weger, K., Mesmer, B. L., & Tenhundfeld, N. L. (2022) · Proceedings of the Human Factors and Ergonomics Society Annual Meeting · doi:10.1177/1071181322661119 · Cited by 6
Reordering Program Statements for Improving Readability
Sasaki, Y., Higo, Y., & Kusumoto, S. (2013) · Euromicro Conference on Software Maintenance and Reengineering (CSMR) · doi:10.1109/csmr.2013.50 · Cited by 6
RePOR: Mimicking humans on refactoring tasks. Are we there yet?
Morales, R., Khomh, F., & Antoniol, G. (2020) · Empirical Software Engineering · doi:10.1007/s10664-020-09826-7 · Cited by 6
A Tool Supporting Postponable Refactoring
Maruyama, K., & Hayashi, S. (2017) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse-c.2017.108 · Cited by 6
Hafiz, M., & Overbey, J. L. (2015) · IEEE Software · doi:10.1109/ms.2015.130 · Cited by 6
Metrics in Software Development and Evolution with Design Patterns
Derezińska, A. (2018) · Advances in intelligent systems and computing · doi:10.1007/978-3-319-91186-1_37 · Cited by 5
A Technique to Test Refactoring Detection Tools
Leandro, O., Gheyi, R., Teixeira, L., Ribeiro, M., & Garcia, A. (2022) · Brazilian Symposium on Software Engineering · doi:10.1145/3555228.3555246 · Cited by 5
Dig, D., Johnson, R. E., Marinov, D., Bailey, B. P., & Batory, D. S. (2016) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/2889160.2889208 · Cited by 5
Self-citationTowards Sustainable Cloud Software Systems through Energy-Aware Code Smell Refactoring
Imran, A., Kosar, T., Żola, J., & Bulut, M. F. (2024) · IEEE ... International Conference on Cloud Computing · doi:10.1109/cloud62652.2024.00034 · Cited by 4
Kim, M., Meng, N., & Zhang, T. (2019) · Springer eBooks · doi:10.1007/978-3-030-00262-6_6 · Cited by 4
Calico: Automated Knowledge Calibration and Diagnosis for Elevating AI Mastery in Code Tasks
Qiu, Y., Hu, J., Zhang, Q., & Yin, H. (2024) · ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) · doi:10.1145/3650212.3680399 · Cited by 4
What Kinds of Refactorings are Co-Occurred? An Analysis of Eclipse Usage Datasets
Saika, T., Choi, E., Yoshida, N., Gotō, A., Haruna, S., & Inoue, K. (2014) · International Workshop on Empirical Software Engineering in Practice (IWESEP) · doi:10.1109/iwesep.2014.15 · Cited by 4
Refactoring Tools and Their Kin
Steimann, F. (2017) · Lecture notes in computer science · doi:10.1007/978-3-319-60074-1_8 · Cited by 4
Towards a better understanding of the mechanics of refactoring detection tools
Oliveira, J., Gheyi, R., Teixeira, L., Ribeiro, M., Leandro, O., & Fonseca, B. (2023) · Information and Software Technology · doi:10.1016/j.infsof.2023.107273 · Cited by 3
Software Complexity Reduction by Automated Refactoring Schema
Cao, S., Zhao, Y., & Shi, L. (2019) · International Symposium on Theoretical Aspects of Software Engineering (TASE) · doi:10.1109/tase.2019.00005 · Cited by 3
CodeDeviant: Helping Programmers Detect Edits That Accidentally Alter Program Behavior
Henley, A. Z., & Fleming, S. D. (2018) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2018.8506567 · Cited by 3
Preserving instance state during refactorings in live environments
Tesone, P., Polito, G., Fabresse, L., Bouraqadi, N., & Ducasse, S. (2020) · Future Generation Computer Systems · doi:10.1016/j.future.2020.04.010 · Cited by 3
Eilertsen, A. M., & Murphy, G. C. (2021) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsme52107.2021.00070 · Cited by 3
A new architecture reconciling refactorings and transformations
Šarenac, B., Anquetil, N., Ducasse, S., & Tesone, P. (2024) · Journal of Computer Languages · doi:10.1016/j.cola.2024.101273 · Cited by 2
A Flowchart for Rapid Technical Debt Management Decision Making
Zhang, C., & Wu, Y. (2015) · Journal of Software · doi:10.17706/jsw.11.2.212-219 · Cited by 2
A Structure-Driven Process of Automated Refactoring to Design Patterns
Derezińska, A. (2017) · Advances in intelligent systems and computing · doi:10.1007/978-3-319-67229-8_4 · Cited by 2
Frame-based behavior preservation in refactoring
Maruyama, K., Hayashi, S., Yoshida, N., & Choi, E. (2017) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner.2017.7884683 · Cited by 2
A study of refactorings during software change tasks
Eilertsen, A. M., & Murphy, G. C. (2021) · Journal of Software Evolution and Process · doi:10.1002/smr.2378 · Cited by 2
Tool Support for Finding Anomalies in Refactoring Edits for Improving Software Evolution
Nguyen, U., Zeng, X., Cho, S. S., & Song, M. (2020) · IEEE International Conference on Electro Information Technology · doi:10.1109/eit48999.2020.9248703 · Cited by 1
Flexible semi-automatic support for type migration of primitives for C/C++ programs
Szalay, R., & Porkoláb, Z. (2022) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner53432.2022.00106 · Cited by 1
PyTPU: Migration of Python Code for Heterogenous Acceleration with Automated Test Generation
Kundu, A., & Nguyen, U. T. (2023) · IEEE/ACIS International Conference on Big Data, Cloud Computing, and Data Science (BCD) · doi:10.1109/bcd57833.2023.10466329 · Cited by 1
An Experience Report on Assessing Software Engineer’s Outputs in Practice
Zhang, J., Zhang, H., Yang, L., Dong, L., & Li, Y. (2023) · International Conference on Software and System Process · doi:10.1109/icssp59042.2023.00012 · Cited by 1
Towards strengthening software library interfaces with granular and interactive type migrations
Szalay, R. (2023) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse-companion58688.2023.00063 · Cited by 1
Model‐based source code refactoring with interaction and visual cues
Moghadam, I. H., Cinnéide, M. Ó., Sardarian, A., & Zarepour, F. (2023) · Journal of Software Evolution and Process · doi:10.1002/smr.2596 · Cited by 1
Decision Making on Critical Component Using Combined Approach
Nagpal, R., Sehgal, R., & Mehrotra, D. (2020) · Services and business process reengineering · doi:10.1007/978-981-15-2455-4_8 · Cited by 1
Predictable, Flexible or Correct
Eilertsen, A. M. (2020) · doi:10.1145/3387940.3392185 · Cited by 1
Interaktionsdesign menschzentrierter Refactoring-Tools
Raab, F. (2012) · Information - Wissenschaft & Praxis · doi:10.1515/iwp-2012-0062
Using Naming Patterns for Identifying Architectural Technical Debt
del Carpio, P. M. (2017) · Advances in Science Technology and Engineering Systems Journal · doi:10.25046/aj020130
TOWARDS CUSTOMIZING SMELL DETECTION AND REFACTORINGS
OLIVEIRA, D. T. M. D. (2020) · doi:10.17771/pucrio.acad.56525
Metadata
- Authors
- Vakilian, M., Chen, N., Negara, S., Rajkumar, B. A., Bailey, B. P., & Johnson, R. E.
- Affiliations
- University of Illinois Urbana-Champaign (US)
- Venue
- 2012 34th International Conference on Software Engineering (ICSE)
- Publisher
- IEEE
- Published
- 2012-06
- Pages
- 233-243
- ISSN
- 0270-5257 (ISSN-L)
- OpenAlex
- W3151395068
- Cited by
- 106
- References
- 32
- Citations by year
- 2025: 2 · 2024: 5 · 2023: 10 · 2022: 8 · 2021: 6 · 2020: 15 · 2019: 7 · 2018: 8 · 2017: 12 · 2016: 5 · 2015: 9 · 2014: 5 · 2013: 10 · 2012: 4
- FWCI
- 7.04
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) (publishedVersion)
- Funders
- National Science Foundation
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Physical Sciences › Computer Science › Software › Logic, programming, and type systems
- Keywords
- automated refactoring, refactoring tools, programmer behavior, tool misuse, software maintenance
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review