

DOP 301: Exploring OpenRewrite and the Future of Code Modernization
Feb 5, 2025
Jonathan Schneider, from Moderne, specializes in large-scale software refactoring and is a key figure behind OpenRewrite. He discusses the challenges organizations face in modernizing extensive legacy codebases, emphasizing the importance of automation. Jonathan explores how OpenRewrite assists in upgrading Java versions and repairing security vulnerabilities. The conversation also touches on AI's role in software development and the upcoming Code Remix conference, focusing on practical applications for modern development and leadership.
AI Snips
Chapters
Transcript
Episode notes
OpenRewrite's Origin
- OpenRewrite originated at Netflix to solve the challenge of modernizing code across thousands of microservices without disrupting developer freedom.
- Initial efforts like dashboards and workshops failed, leading Jonathan Schneider to automate the process.
Limitations of ASTs
- Simple find-and-replace and Abstract Syntax Trees (ASTs) proved insufficient for complex refactoring tasks.
- ASTs, while better than text, lack the semantic understanding needed for accurate code modification.
Type Attribution
- OpenRewrite uses "type attribution," layering semantic information onto ASTs.
- This allows it to understand the meaning of code symbols, enabling more accurate and complex refactoring.