Skip to content

ponder-lab/Optimize-Java-8-Streams-Refactoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java 8 Stream Optimization Refactorings

Build Status Coverage Status GitHub license

Screenshot

Introduction

This prototype refactoring plug-in for Eclipse represents ongoing work in developing an automated refactoring tool that would assist developers in optimizing their Java 8 stream client code.

Usage

Installation

Marking Entry Points

Explicit entry points may be marked using the appropriate annotation found in the corresponding annotation library.

Limitations

There are currently some limitations with embedded streams (i.e., streams declared as part of lambda expressions sent as arguments to intermediate stream operations). This is due to model differences between the Eclipse JDT and WALA. See #155 for details.

In general, there is an issue with the mapping between the Eclipse DOM and WALA DOM, particuarly when using Anonymous Inner Classes (AICs). We are currently working with the WALA developers to resolve this issue.

Contributing

Please see the wiki for more information regarding development.

Installation

The project includes a maven configuration file using the tycho plug-in, which is part of the maven eclipse plugin. Running mvn install will install most dependencies. Note that if you are not using maven, this plugin depends on https://github.com/khatchad/edu.cuny.citytech.refactoring.common, the Eclipse SDK, Eclipse SDK tests, and the Eclipse testing framework. The latter three can be installed from the "Install New Software..." menu option under "Help" in Eclipse.

Dependencies

You should have the following projects in your workspace:

  1. WALA stream branch. Though, not all projecst are necessary. You can close thee ones related to JavaScript and Android.
  2. SAFE.
  3. Eclipse Java Refactoring Framework.

Running the Evaluator

Further Information

See the wiki for further information.

About

Refactorings for optimizing Java 8 stream client code for greater parallelism and efficiency.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •