Mining framework usage changes from instantiation code

Thorsten Schäfer, Jan Jonas, Mira Mezini
2008 Proceedings of the 13th international conference on Software engineering - ICSE '08  
Framework evolution may break existing users, which need to be migrated to the new framework version. This is a tedious and error-prone process that benefits from automation. Existing approaches compare two versions of the framework code in order to find changes caused by refactorings. However, other kinds of changes exist, which are relevant for the migration. In this paper, we propose to mine framework usage change rules from already ported instantiations, the latter being applications build
more » ... n top of the framework, or test cases maintained by the framework developers. Our evaluation shows that our approach finds usage changes not only caused by refactorings, but also by conceptual changes within the framework. Further, it copes well with some issues that plague tools focusing on finding refactorings such as deprecated program elements or multiple changes applied to a single program element.
doi:10.1145/1368088.1368153 dblp:conf/icse/SchaferJM08 fatcat:2xftuyq4jjcolhwaacj5t6d5bq