Danny Dig's Group Refactoring Toolset for Parallelism, Concurrency, and Asynchrony



LambdaFicator converts Java's imperative style of loops into functional style iterators (e.g., filter, map, reduce) which can run in parallel. LambdaFicator ships with the official release of the NetBeans IDE -- watch this demo video from Oracle.

Asynchronizer Encapsulates long-running or I/O blocking computation into asynchronous background tasks. Watch this demo.

AsyncDroid Enables Android developers to transform existing improperly-used async constructs (leading to memory leaks, losing task results, and wasting energy) into correct async constructs. Watch this demo.

DroidPerm Enables Android developers to upgrade apps to the new dynamic permission model in Android 6. This improves security and privacy of apps. Watch this preview demo of an earlier version shown at Google I/O 2016.

ReLooper parallelizes loops over arrays using Java's ParallelArray

Concurrencer extends Eclipse's refactoring engine with three refactorings: convert int to AtomicInteger, convert.HashMap to ConcurrentHashMap, convert sequential divide-and-conquer algorithm into a parallel divide-and-conquer.

Immutator converts mutable into immutable classes which can be shared among threads without any synchronization.

Asyncifier refactors legacy callback-based asynchronous code to modern styles of asynchrony for C# in .NET

Taskifier refactors old-style Thread-based code to modern, lightweight Task-based abstractions for for C# in .NET

CTADetector converts broken, non thread-safe usage of Java concurrent collections into correct, scalable usage