  To meet project timelines or budget constraints, developers intentionally
deviate from writing optimal code to feasible code in what is known as
incurring Technical Debt (TD). Furthermore, as part of planning their
correction, developers document these deficiencies as comments in the code
(i.e., self-admitted technical debt or SATD). As a means of improving source
code quality, developers often apply a series of refactoring operations to
their codebase. In this study, we explore developers repaying this debt through
refactoring operations by examining occurrences of SATD removal in the code of
76 open-source Java systems. Our findings show that TD payment usually occurs
with refactoring activities and developers refactor their code to remove TD for
specific reasons. We envision our findings supporting vendors in providing
tools to better support developers in the automatic repayment of technical
debt.
