Um catálogo de refatorações envolvendo expressões lambda em Java - Teixeira Júnior, Jânio Elias (2014)
Programming language evolution provides room for improving existing programs. Developers can upgrade their projects, applying new features available in the latest language versions. However, during maintenance activities, the code artefacts can become distant from their original conception. In this context, the use of transformation techniques and processes can be interesting, as it reduces the error-proneness when improving source code structure. Refactoring is a process of improving the design of a software system, modifying its internal structure without changing its external observable behavior. From this scenario, this work presents a refactoring catalog focused on the new features of the Java language. Such refactorings are related to lambda expressions and seek to allow the transformation of features implemented in Java 7 for the current version 8. To evaluate the proposed refactorings applicability, we developed a static analysis and used it in a set of open source projects aiming to search for opportunities to apply those refactorings.