  Code changes constitute one of the most important features of software
evolution. Studying them can provide insights into the nature of software
development and also lead to practical solutions - recommendations and
automations of popular changes for developers.
  In our work, we developed a tool called PythonChangeMiner that allows to
discover code change patterns in the histories of Python projects. We validated
the tool and then employed it to discover patterns in the dataset of 120
projects from four different domains of software engineering. We manually
categorized patterns that occur in more than one project from the standpoint of
their structure and content, and compared different domains and patterns in
that regard. We conducted a survey of the authors of the discovered changes:
82.9% of them said that they can give the change a name and 57.9% expressed
their desire to have the changes automated, indicating the ability of the tool
to discover valuable patterns. Finally, we interviewed 9 members of a popular
integrated development environment (IDE) development team to estimate the
feasibility of automating the discovered changes. It was revealed that
independence from the context and high precision made a pattern a better
candidate for automation. The patterns received mainly positive reviews and
several were ranked as very likely for automation.
