139
Views
1
CrossRef citations to date
0
Altmetric
Articles

Identifying rename refactoring opportunities based on feature requests

ORCID Icon, &
Pages 770-778 | Received 22 Aug 2020, Accepted 20 Apr 2021, Published online: 05 May 2021

References

  • Bharti S, Singh H. Proactively managing clones inside an ide: a systematic literature review. Int J Comput Appl. 2020:1–20. doi:10.1080/1206212X.2020.1720952.
  • Fowler M. Refactoring – improving the design of existing code. 1999. Available from: http://martinfowler.com/books/refactoring.html
  • Sidhu BK, Singh K, Sharma N. A machine learning approach to software model refactoring. Int J Comput Appl. 2020:1–12. doi:10.1080/1206212X.2020.1711616.
  • Mens T, Tourwé T. A survey of software refactoring. IEEE Trans Softw Eng. 2004;30(2):126–139. doi:10.1109/TSE.2004.1265817.
  • Fernandes E, Oliveira J, Vale G, et al. A review-based comparative study of bad smell detection tools. In: Beecham S, Kitchenham BA, MacDonell SG, editors. Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering (EASE 2016); 2016 Jun 01–03; Limerick: ACM; 2016. p. 1–12. https://doi.org/10.1145/2915970.2915984.
  • Fontana FA, Mariani E, Morniroli A, et al. An experience report on using code smells detection tools. In: Proceedings of the 4th IEEE International Conference on Software Testing, Verification and Validation Workshops (ICST 2012); 2011 Mar 21–25; Berlin: IEEE Computer Society; 2011. p. 450–457. https://doi.org/10.1109/ICSTW.2011.12.
  • Palomba F, Panichella A, Lucia AD, et al. A textual-based technique for smell detection. In: Proceedings of the 24th IEEE International Conference on Program Comprehension (ICPC 2016); 2016 May 16-17; Austin, TX: IEEE Computer Society; 2016. p. 1–10. https://doi.org/10.1109/ICPC.2016.7503704.
  • Merten T, Falis M, Hübner P, et al. Software feature request detection in issue tracking systems. In: Proceedings of the 24th IEEE International Requirements Engineering Conference (RE 2016); 2016 Sept 12–16; Beijing; 2016. p. 166–175. https://doi.org/10.1109/RE.2016.8.
  • Heck P, Zaidman A. An analysis of requirements evolution in open source projects: recommendations for issue trackers. In: Proceedings of the 13th International Workshop on Principles of Software Evolution (IWPSE 2013); 2013 Aug 19-20; Saint Petersburg; 2013. p. 43–52. https://doi.org/10.1145/2501543.2501550.
  • Niu N, Bhowmik T, Liu H, et al. Traceability-enabled refactoring for managing just-in-time requirements. In: Proceedings of the IEEE 22nd International Requirements Engineering Conference (RE 2014); 2014 Aug 25–29; Karlskrona; 2014. p. 133–142. https://doi.org/10.1109/RE.2014.6912255.
  • Thung F, Wang S, Lo D, et al. Automatic recommendation of API methods from feature requests. In: 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE 2013); 2013 Nov 11–15; Silicon Valley, CA; 2013. p. 290–300. https://doi.org/10.1109/ASE.2013.6693088.
  • Murphy GC, Kersten M, Findlater L. How are java software developers using the eclipse ide? IEEE Softw. 2006;23(4):76–83. doi:10.1109/MS.2006.105.
  • Arnaoudova V, Eshkevari LM, Penta MD, et al. REPENT: analyzing the nature of identifier renamings. IEEE Trans Softw Eng. 2014;40(5):502–532. doi:10.1109/TSE.2014.2312942.
  • Silva D, Tsantalis N, Valente MT. Why we refactor? Confessions of GitHub contributors. In: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2016); 2016 Nov 13–18; Seattle, WA; 2016. p. 858–870. https://doi.org/10.1145/2950290.2950305.
  • Liu H, Liu Q, Liu Y, et al. Identifying renaming opportunities by expanding conducted rename refactorings. IEEE Trans Software Eng. 2015;41(9):887–900. doi:10.1109/TSE.2015.2427831.
  • Abebe SL, Haiduc S, Tonella P. Lexicon bad smells in software. In: Zaidman A, Antoniol G, Ducasse S, editors. In: Proceedings of the 16th Working Conference on Reverse Engineering (WCRE); 2009 Oct 13-16; Lille: IEEE Computer Society; 2009. p. 95–99. https://doi.org/10.1109/WCRE.2009.26.
  • Allamanis M, Barr ET, Bird C, et al. Learning natural coding conventions. In: Cheung S, Orso A, Storey MD, editors. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE-22); 2014 Nov 16–22; Hong Kong: ACM; 2014. p. 281–293. https://doi.org/10.1145/2635868.2635883.
  • Kim S, Kim D. Automatic identifier inconsistency detection using code dictionary. Empirical Softw Eng. 2016;21(2):565–604. doi:10.1007/s10664-015-9369-5.
  • Lawrie DJ, Binkley DW. Expanding identifiers to normalize source code vocabulary. In: Proceedings of the IEEE 27th International Conference on Software Maintenance (ICSM 2011); 2011 Sept 25–30; Williamsburg (VA): IEEE Computer Society; 2011. p. 113–122. https://doi.org/10.1109/ICSM.2011.6080778.
  • Chen J, Xiao J, Wang Q, et al. Perspectives on refactoring planning and practice: an empirical study. Empir Softw Eng. 2016;21(3):1397–1436. doi:10.1007/s10664-015-9390-8.
  • Silva D, Valente MT. Refdiff: detecting refactorings in version histories. In: Proceedings of the 14th International Conference on Mining Software Repositories (MSR 2017); 2017 May 20–28; Buenos Aires; 2017. p. 269–279. https://doi.org/10.1109/MSR.2017.14.
  • Tsantalis N, Mansouri M, Eshkevari LM, et al. Accurate and efficient refactoring detection in commit history. In: Proceedings of the 40th International Conference on Software Engineering (ICSE 2018); 2018 May 27 – Jun 03; Gothenburg; 2018. p. 483–494. https://doi.org/10.1145/3180155.3180206.
  • Rath M, Rendall J, Guo JLC, et al. Traceability in the wild: automatically augmenting incomplete trace links. In: Chaudron M, Crnkovic I, Chechik M, Harman M, editors. Proceedings of the 40th International Conference on Software Engineering (ICSE 2018); 2018 May 27–Jun 03; Gothenburg: ACM; 2018. p. 834–845. https://doi.org/10.1145/3180155.3180207.
  • Mealy E, Strooper PA. Evaluating software refactoring tool support. In: Proceedings of the 17th Australian Software Engineering Conference (ASWEC 2006); 2006 Apr 18–21; Sydney: IEEE Computer Society; 2006. p. 331–340. https://doi.org/10.1109/ASWEC.2006.26.
  • Antoniol G, Canfora G, Casazza G, et al. Recovering traceability links between code and documentation. IEEE Trans Softw Eng. 2002;28(10):970–983. doi:10.1109/TSE.2002.1041053.
  • De Lucia A, Penta MD, Oliveto R. Improving source code lexicon via traceability and information retrieval. IEEE Trans Softw Eng. 2011;37(2):205–227. doi:10.1109/TSE.2010.89.
  • Loper E, Bird S. NLTK: the natural language toolkit. In: Proceedings of the ACL Workshop Effective Tools Methodol. Teaching Natural Language Processing Computational Linguistics (ETMTNLP); 2002. p. 63–70. https://doi.org/10.3115/1118108.1118117.
  • Porter MF. An algorithm for suffix stripping. Program. 2006;40(3):211–218. doi:10.1108/00330330610681286.
  • Mahmoud A, Niu N. Supporting requirements to code traceability through refactoring. Requirements Eng. 2014;19(3):309–329. doi:10.1007/s00766-013-0197-0.
  • Palomba F, Salza P, Ciurumelea A, et al. Recommending and localizing change requests for mobile apps based on user reviews. In: Uchitel S, Orso A, Robillard MP, editors. Proceedings of the 39th International Conference on Software Engineering (ICSE 2017); 2017 May 20–28; Buenos Aires, Argentina: IEEE/ACM; 2017. p. 106–117. https://doi.org/10.1109/ICSE.2017.18.
  • Butler S, Wermelinger M, Yu Y, et al. Improving the tokenisation of identifier names. In: Mezini M, editor. Proceedings of the 25th European Conference ECOOP 2011 – Object-Oriented Programming; 2011 Jul 25–29; Lancaster: Springer; 2011. p. 130–154. (Lecture Notes in Computer Science; vol. 6813). https://doi.org/10.1007/978-3-642-22655-7_7.
  • Manning CD, Raghavan P, Schütze H. Introduction to information retrieval. Cambridge, UK: Cambridge University Press; 2008.
  • Nyamawe AS, Liu H, Niu N, et al. Automated recommendation of software refactorings based on feature requests. In: Damian DE, Perini A, Lee S, editors. Proceedings of the 27th IEEE International Requirements Engineering Conference (RE 2019); 2019 Sept 23–27; Jeju: IEEE; 2019. p. 187–198. https://doi.org/10.1109/RE.2019.00029.
  • Lucia AD, Marcus A, Oliveto R, et al. Information retrieval methods for automated traceability recovery. In: Cleland-Huang J, Gotel O, Zisman A, editors. Software and Systems Traceability. Springer; 2012. p. 71–98. https://doi.org/10.1007/978-1-4471-2239-5_4.
  • Liu H, Wu Y, Liu W, et al. Domino effect: move more methods once a method is moved. In: Proceedings of the IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016), Volume 1; 2016 Mar 14–18; Suita, Osaka: IEEE Computer Society; 2016. p. 1–12. https://doi.org/10.1109/SANER.2016.14.
  • Lawrie DJ, Feild H, Binkley DW. Syntactic identifier conciseness and consistency. In: Proceedings of the 6th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2006); 2006 Sept 27–29; Philadelphia, PA: IEEE Computer Society; 2006. p. 139–148. https://doi.org/10.1109/SCAM.2006.31.
  • Xu S, Sivaraman A, Khoo S, et al. GEMS: an extract method refactoring recommender. In: 28th IEEE International Symposium on Software Reliability Engineering (ISSRE 2017); 2017 Oct 23–26; Toulouse; 2017. p. 24–34. https://doi.org/10.1109/ISSRE.2017.35.
  • Caprile B, Tonella P. Restructuring program identifier names. In: Proceedings of the 2000 International Conference on Software Maintenance (ICSM 2000); 2000 Oct 11–14; San Jose, CA: IEEE Computer Society; 2000. p. 97–107. https://doi.org/10.1109/ICSM.2000.883022.
  • Liu H, Liu Q, Staicu C, et al. Nomen est omen: exploring and exploiting similarities between argument and parameter names. In: Dillon LK, Visser W, Williams L, editors. Proceedings of the 38th International Conference on Software Engineering (ICSE 2016); 2016 May 14–22; Austin, TX: ACM; 2016. p. 1063–1073. https://doi.org/10.1145/2884781.2884841.
  • Eshkevari LM, Arnaoudova V, Penta MD, et al. An exploratory study of identifier renamings. In: van Deursen A, Xie T, Zimmermann T, editors. Proceedings of the 8th International Working Conference on Mining Software Repositories, MSR 2011 (Co-located with ICSE); 2011 May 21–28; Waikiki, Honolulu, HI: ACM; 2011. p. 33–42. https://doi.org/10.1145/1985441.1985449.
  • Deißenböck F, Pizka M. Concise and consistent naming. In: Proceedings of the 13th International Workshop on Program Comprehension (IWPC 2005); 2005 May 15-16; St. Louis, MO: IEEE Computer Society; 2005. p. 97–106. https://doi.org/10.1109/WPC.2005.14.
  • Goncharenko B, Zaytsev V. Language design and implementation for the domain of coding conventions. In: van der Storm T, Balland E, Varró D, editors. Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering; 2016 Oct 31–Nov 1; Amsterdam: ACM; 2016. p. 90–104. http://dl.acm.org/citation.cfm?id=2997386.
  • Butler S, Wermelinger M, Yu Y, et al. Mining java class naming conventions. In: Proceedings of the IEEE 27th International Conference on Software Maintenance (ICSM 2011); 2011 Sept 25–30; Williamsburg (VA): IEEE Computer Society; 2011. p. 93–102. https://doi.org/10.1109/ICSM.2011.6080776.
  • Thies A, Roth C. Recommending rename refactorings. In: Holmes R, Robillard MP, Walker RJ, Zimmermann T, editors. In: Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering (RSSE 2010); 2010 May 4; Cape Town: ACM; 2010. p. 1–5. https://doi.org/10.1145/1808920.1808921.
  • Lawrie DJ, Binkley DW, Morrell C. Normalizing source code vocabulary. In: Antoniol G, Pinzger M, Chikofsky EJ, editors. Proceedings of the 17th Working Conference on Reverse Engineering (WCRE 2010); 2010 Oct 13–16. Beverly, MA: IEEE Computer Society; 2010. p. 3–12. https://doi.org/10.1109/WCRE.2010.10.
  • Li G, Liu H, Nyamawe AS. A survey on renamings of software entities. ACM Comput Surv. 2020;53(2):41. doi:10.1145/3379443.
  • Nyamawe AS, Liu H, Niu N, et al. Feature requests-based recommendation of software refactorings. Empir Softw Eng. 2020;25(5):4315–4347. doi:10.1007/s10664-020-09871-2.
  • Marcus A, Maletic JI. Recovering documentation-to-source-code traceability links using latent semantic indexing. In: Clarke LA, Dillon L, Tichy WF, editors. Proceedings of the 25th International Conference on Software Engineering; 2003 May 3–10; Portland, OR: IEEE Computer Society; 2003. p. 125–137. https://doi.org/10.1109/ICSE.2003.1201194.

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.