Automated Refactoring of Performance and Concurrency AntiPatterns
summary
Yonita Optimizer is a source-to-source precompile refactoring tool that detects patterns like redundant work and long critical section and rewrites Java sources to caching, sorted-collection, or reduced-lock variants. Prototype runs on real projects: refactoring Hibernate Core takes about eight hours and needs heavy manual assistance, yields modest speedups (~5–10%) while increasing memory use (~20%). Static-analysis limits (reflection, JSP, XML config) and safety heuristics (randomness, side effects, thread-safety) block some transformations.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 1:36Bita Optimizer goals
- 7:51Automated refactoring concept
- 10:00Redundant work in Fibonacci
- 12:37Refactoring with caching
- 20:30Redundant work in JSF
- 23:03Inefficient linear search
- 26:21Refactoring with data structures
- 28:09Critical sections in password cracking
- 30:38Refactoring concurrency
- 32:47Hibernate Core results
- 36:24Static analysis challenges
- 38:54Future work and testing
- 39:18Q&A
related talks
39mThe best multicore-parallelization refactoring you've never heard of
48mConcurrency: It’s Harder (and Easier) Than You Think
45mEverything Everywhere All at Once
50mThe Hidden Art of Thread-Safe Programming: Exploring java.util.con...
41mParallel Programming, Fork Join, and Reducers
57mJDK 19 Virtual Threads: Skip Reactive, Boost Throughput
53mProgramming with Futures, Lattices and Quiescence
35mAutomatic Parallelism Management
