Concurrency-related refactorings for JDT
Project Lead: Benjamin Muskalla (IRC: benny`work)
Mentor: Ahti Kitsik (IRC: ahtik)
This project is part of the Google Summer of Code 2008
Prices of multi-core cpus are dropping and the move of multi-core processors to desktop machines doesn't stand still. There is a growing need of software developers to handle with concurrency-related problems in their application in order to improve the scalability. Today Moore's law is not applicable in the original sense as parallel computing increases. This idea growed up out of these reasons. Todays developers are all aware of the complexity of concurrent development but cannot handle this complexity very well. In many cases it's not possible to detect such problems with static or dynamic code analysis which implies that developers need to take care of it. The main idea of this project is not to solve concurrency problems but to help the developer to concentrate on the real hard things and eliminate the machine-solvable problems.
The whole proposal can be found here (pdf).
- Inline synchronized method - The "Inline method" refactoring currently ignores the
synchronizedmodifier. See bug 112100
Extract to FutureTask
A quickfix could allow to extract selected source into a java.util.concurrent.FutureTask (and its embedded Callable). Additionally a java.util.concurrent.Execture should be provided in some form to run the task.