Skip to main content
Jump to: navigation, search

Difference between revisions of "Concurrency-related refactorings for JDT"

(moved legend to a box)
(Primary goals)
Line 22: Line 22:
[[Image:Ok_green.gif]] Bug fixed / Feature added
[[Image:Ok_green.gif]] Bug fixed / Feature added
===Concurrency-aware refactorings===
* '''Inline synchronized method''' - The "Inline method" refactoring currently ignores the <code>synchronized</code> modifier. See {{bug|112100}}
== Community Proposals ==
== Community Proposals ==

Revision as of 06:14, 5 May 2008

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).

Primary goals


Glass.gif Needs some investigation/research

Progress.gif Work in progress

Ok green.gif Bug fixed / Feature added

Concurrency-aware refactorings

  • Inline synchronized method - The "Inline method" refactoring currently ignores the synchronized modifier. See bug 112100

Community Proposals

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.

Back to the top