  In this paper, we present a tertiary systematic literature review of previous
surveys, secondary systematic literature reviews, and systematic mappings. We
identify the main observations (what we know) and challenges (what we do not
know) on code smells and refactoring. We show that code smells and refactoring
have a strong relationship with quality attributes, i.e., with
understandability, maintainability, testability, complexity, functionality, and
reusability. We argue that code smells and refactoring could be considered as
the two faces of a same coin. Besides, we identify how refactoring affects
quality attributes, more than code smells. We also discuss the implications of
this work for practitioners, researchers, and instructors. We identify 13 open
issues that could guide future research work. Thus, we want to highlight the
gap between code smells and refactoring in the current state of
software-engineering research. We wish that this work could help the
software-engineering research community in collaborating on future work on code
smells and refactoring.
