On preserving the behavior in software refactoring: A systematic mapping study

EA AlOmar, MW Mkaouer, C Newman… - Information and Software …, 2021 - Elsevier
Context: Refactoring is the art of modifying the design of a system without altering its
behavior. The idea is to reorganize variables, classes and methods to facilitate their future …

The impact of mislabeled changes by szz on just-in-time defect prediction

Y Fan, X Xia, DA Da Costa, D Lo… - IEEE transactions on …, 2019 - ieeexplore.ieee.org
Just-in-Time (JIT) defect prediction-a technique which aims to predict bugs at change level-
has been paid more attention. JIT defect prediction leverages the SZZ approach to identify …

Refdiff: detecting refactorings in version histories

D Silva, MT Valente - 2017 IEEE/ACM 14th International …, 2017 - ieeexplore.ieee.org
Refactoring is a well-known technique that is widely adopted by software engineers to
improve the design and enable the evolution of a system. Knowing which refactoring …

Refdiff 2.0: A multi-language refactoring detection tool

D Silva, JP da Silva, G Santos, R Terra… - IEEE Transactions on …, 2020 - ieeexplore.ieee.org
Identifying refactoring operations in source code changes is valuable to understand software
evolution. Therefore, several tools have been proposed to automatically detect refactorings …

The impact of refactoring changes on the SZZ algorithm: An empirical study

EC Neto, DA Da Costa… - 2018 IEEE 25th …, 2018 - ieeexplore.ieee.org
SZZ is a widely used algorithm in the software engineering community to identify changes
that are likely to introduce bugs (ie, bug-introducing changes). Despite its wide adoption …

Automated behavioral testing of refactoring engines

GS Soares - Proceedings of the 3rd annual conference on Systems …, 2012 - dl.acm.org
Refactoring is a transformation that preserves the external behavior of a program and
improves its internal quality. Usually, compilation errors and behavioral changes are …

Behind the scenes: On the relationship between developer experience and refactoring

EA AlOmar, A Peruma, MW Mkaouer… - Journal of Software …, 2024 - Wiley Online Library
Refactoring is widely recognized as one of the efficient techniques to manage technical debt
and maintain a healthy software project through enforcing best design practices, or coping …

Assessing the refactorability of software clones

N Tsantalis, D Mazinanian… - IEEE Transactions on …, 2015 - ieeexplore.ieee.org
The presence of duplicated code in software systems is significant and several studies have
shown that clones can be potentially harmful with respect to the maintainability and …

A survey on renamings of software entities

G Li, H Liu, AS Nyamawe - ACM Computing Surveys (CSUR), 2020 - dl.acm.org
More than 70% of characters in the source code are used to label identifiers. Consequently,
identifiers are one of the most important source for program comprehension. Meaningful …

Discipline Matters: Refactoring of Preprocessor Directives in the #ifdef Hell

F Medeiros, M Ribeiro, R Gheyi, S Apel… - IEEE Transactions …, 2017 - ieeexplore.ieee.org
The C preprocessor is used in many C projects to support variability and portability.
However, researchers and practitioners criticize the C preprocessor because of its negative …