  Technical Debt (TD) refers to non-optimal decisions made in software projects
that may lead to short-term benefits, but potentially harm the system's
maintenance in the long-term. Technical debt management (TDM) refers to a set
of activities that are performed to handle TD, e.g., identification. These
activities can entail tasks such as code and architectural analysis, which can
be time-consuming if done manually. Thus, substantial research work has focused
on automating TDM tasks (e.g., automatic identification of code smells).
However, there is a lack of studies that summarize current approaches in TDM
automation. This can hinder practitioners in selecting optimal automation
strategies to efficiently manage TD. It can also prevent researchers from
understanding the research landscape and addressing the research problems that
matter the most. Thus, the main objective of this study is to provide an
overview of the state of the art in TDM automation, analyzing the available
tools, their use, and the challenges in automating TDM. For this, we conducted
a systematic mapping study (SMS), and from an initial set of 1086 primary
studies, 178 were selected to answer three research questions covering
different facets of TDM automation. We found 121 automation artifacts, which
were classified in 4 different types (i.e., tools, plugins, scripts, and bots);
the inputs/outputs and interfaces were also collected and reported. Finally, a
conceptual model is proposed that synthesizes the results and allows to discuss
the current state of TDM automation and related challenges. The results show
that the research community has investigated to a large extent how to perform
various TDM activities automatically, considering the number of studies and
automation artifacts we identified. More research is needed towards fully
automated TDM, specially concerning the integration of the automation
artifacts.
