  Developers often refactor code to improve the maintainability and
comprehension of the software. There are many studies on refactoring activities
in traditional software systems. However, refactoring in data-intensive systems
is not well explored. Understanding the refactoring practices of developers is
important to develop efficient tool support.We conducted a longitudinal study
of refactoring activities in data access classes using 12 data-intensive
subject systems. We investigated the prevalence and evolution of refactorings
and the association of refactorings with data access smells. We also conducted
a manual analysis of over 378 samples of data access refactoring instances to
identify the functionalities of the code that are targeted by such
refactorings. Our results show that (1) data access refactorings are prevalent
and different in type. \textit{Rename variable} is the most prevalent data
access refactoring. (2) The prevalence and type of refactorings vary as systems
evolve in time. (3) Most data access refactorings target codes that implement
data fetching and insertion. (4) Data access refactorings do not generally
touch SQL queries. Overall, the results show that data access refactorings
focus on improving the code quality but not the underlying data access
operations. Hence, more work is needed from the research community on providing
awareness and support to practitioners on the benefits of addressing data
access smells with refactorings.
