degrade the tool’s performance.
Support for the refactoring process could be
extended, e.g., enhancement of tests could be done
not automatically after each refactoring, but on
demand after a selected refactoring, after a manual
refactoring, or once after a series of refactorings.
More sophisticated test cases could be built or
integrated unit test generators, e.g., EvoSuite,
Randoop, DSpot (Ramler, Klammer, and Buchgeher,
2018), (Roslan, Rojas, and McMinn, 2022).
REFERENCES
Aniche, M., Treude, C., Zaidman, A., 2022. How
Developers Engineer Test Cases: An Observational
Study, In: IEEE Transactions on Software Engineering.
vol. 48, no. 12, pp. 4925-4946. doi: 10.1109/TSE.2021.
3129889.
ANTLR [Online] [Accessed 25 Jan 2023] https://www.
antlr.org/, https://github.com/antlr/antlr4-tools
Baqais, B.A.A., Alshayeb, M., 2020. Automatic software
refactoring: a systematic literature review. Software
Quality Journal. 28, pp. 459-502. doi: 10.1007/s11219-
019-09477-y.
Eclipse – Refactoring [Online] [Accessed 25 Jan 2023]
https://www.tutorialspoint.com/eclipse/eclipse_refacto
ring.htm
Eilertsen, A.M., Murphy, G. C., 2021. The Usability (or
Not) of Refactoring Tools. In: IEEE International
Conference on Software Analysis, Evolution and
Reengineering (SANER), pp. 237-248. doi:
10.1109/SANER50967.2021.00030.
Fowler, M., 2018. Refactoring: improving the design of
existing code (2nd ed.). Addison-Wesley.
Garousi,V., Kucuk, B., 2018. Smells in software test code:
A survey of knowledge in industry and academia. J. of
Systems and Software. Vol. 138, pp. 52-81. doi:
10.1016/j.jss.2017.12.013
Gil, J., Orrù, M. (2017). The Spartanizer: Massive
automatic refactoring. In: IEEE 24th International
Conference on Software Analysis, Evolution and
Reengineering (SANER), pp. 477-481. doi:10.1109/
SANER.2017.7884657.
Gao, Y., Liu, H., Fan, X., Niu, Z., & Nyirongo, B., 2015.
Analyzing Refactoring' Impact on Regression Test
Cases. In: IEEE 39th Annual Computer Software and
Applications Conference (COMPSAC), vol. 2, pp. 222-
231. doi: 10.1109/COMPSAC.2015.16.
IntelliJ refactoring [Online] [Accessed 25Jan 2023]
https://www.jetbrains.com/help/idea/refactoring-source-
code.html
Jaradat, A., Qusef, A., 2019. Automatic Recovery of Unit
Tests after Code Refactoring. In: International Arab
Conference on Information Technology (ACIT),
pp.202-208. doi: 10.1109/ACIT47987.2019.8990974.
JUnit [Online] [Accessed 12 Jan 2023] Available from
https://junit.org/junit5/docs/current/api/index.html
Kashiwa,Y., Shimizu,K., Lin, B., Bavota, G., Lanza, M.,
Kamei, Y., Ubayashi, N., 2021. Does Refactoring
Break Tests and to What Extent? In: IEEE International
Conference on Software Maintenance and Evolution
(ICSME), pp.171-182, doi: 10.1109/ICSME52107.
2021.00022.
Kiran, L., Lodhi, F., Basit, W., 2011. TAPE Test Code
Adaptation Plug-in for Eclipse. Corpus ID: 12838995.
Mens, T., Tourwe, T., 2004. A survey of software
refactoring. In: IEEE Transactions on Software
Engineering, vol. 30, no. 2, pp. 126-139. doi:
10.1109/TSE.2004.1265817.
Olsthoorn, M., 2022. More Effective Test Case Generation
with Multiple Tribes of AI, In: IEEE/ACM 44th
International Conference on Software Engineering:
Companion Proceedings (ICSE-Companion)
, pp. 286-
290. doi: 10.1145/3510454.3517066.
Passier, H., Bijlsma,L., Bockisch, C., 2016. Maintaining
Unit Tests During Refactoring. In: Proceedings of the
13th International Conference on Principles and
Practices of Programming on the Java Platform:
Virtual Machines, Languages, and Tools, no. 18, pp.1-
6. doi: 10.1145/2972206.2972223.
Peruma, A., Simmons, S., AlOmar, E.A. et al., 2022. How
do I refactor this? An empirical study on refactoring
trends and topics in Stack Overflow. In: Empir Software
Eng 27, 11. doi: 10.1007/s10664-021-10045-x.
Rachatasumrit, N., Kim, M., 2012. An empirical
investigation into the impact of refactoring on
regression testing. In: 28th IEEE International
Conference on Software Maintenance (ICSM), pp. 357-
-366. doi: 10.1109/ICSM.2012.6405293.
Ramler, R., Klammer, C., Buchgeher, G. 2018. Applying
automated test case generation in industry: a
retrospective. In: International Conference on Software
Testing, Verification and Validation Workshops, pp.
364-369, IEEE. doi: 10.1109/ICSTW.2018.00074.
Roslan, M.F., Rojas, J.M., McMinn, P., 2022. An Empirical
Comparison of EvoSuite and DSpot for Improving
Developer-Written Test Suites with Respect to
Mutation Score. In: Papadakis, M., Vergilio, S.R. (eds)
Search-Based Software Engineering. SSBSE 2022.
Lecture Notes in Computer Science, vol 13711.
Springer, Cham. doi: 10.1007/978-3-031-21251-2_2.
Shamshiri, S., Rojas, J. M., Galeotti, J. P., Walinshaw, N.,
Fraser, G., 2018. How do automatically generated unit
tests influence software maintenance? In: 11th
International Conference on Software Testing,
Verification and Validation, pp.250-261. IEEE Comp.
Soc. doi: 10.1109/ICST.2018.00033.
Shochat M., Raz O., Farchi, E., 2009. SeeCode – A Code
Review Plug-in for Eclipse. In: Chockler H., Hu A.J.
(eds) Hardware and Software: Verification and
Testing. HVC 2008. LNCS, vol 5394. Springer, Berlin,
Heidelberg. doi:10.1007/978-3-642-01702-5_21.
Walter, B., Pietrzak B., 2004. Automated generation of unit
tests for refactoring. In: Extreme Programming and Agile
Processes in Software Engineering, LNCS vol. 3092, pp.
211--214. Springer. doi: 10.1007/978-3-540-24853-
8_25.