Home » Posts tagged 'refactoring'
Tag Archives: refactoring
Our ICSE 2018 poster entitled, “Towards safe refactoring for intelligent parallelization of Java 8 Streams,” is now available.
I am pleased to announce that I have recently received a PSC-CUNY Enhanced Research Award for a project entitled, “Analyses and Automated Refactorings for Imperative Programs that Use Functional Features.” The award amount is $12,000 and will help support students and travel. The award program is an internal funding mechanism to help promote research at CUNY. A brief abstract of the proposal is listed below:
Imperative programming uses statements to alter a program’s state, whereas functional programming avoids mutating existing data. With the recent popularity rise of functional programming, imperative languages are increasingly incorporating new functional features, enabling developers not previously familiar with functional programming to enjoy many of its benefits. Despite the advantages, however, issues arise from the interplay between the two paradigms, particular regarding involving MapReduce-style operations. This project will address these problems by formulating a theoretical foundation for the analysis and refactoring of hybrid functional/imperative programs and subsequently used to identify code that may safely be refactored for performance gains. Based on typestate analysis, it will determine when it is advantageous and safe to run hybrid code in parallel via a novel ordering inference approach that the PI will introduce. This work will advance the state-of-the-art in program analysis and automated refactoring for this mixed paradigm.
I am happy to announce that our Optimize Java 8 Stream refactoring research prototype is now available on the Eclipse Marketplace!
This tool consists of automated refactoring research prototype plug-ins for Eclipse that assists developers in writing optimal stream client code in a semantics-preserving fashion. Refactoring preconditions and transformations for automatically determining when it is safe and possibly advantageous to convert a sequential stream to parallel and improve upon already parallel streams are included. The approach utilizes both WALA and SAFE.
A preprint of our upcoming ICSE 2018 poster paper entitled, “Poster: Towards safe refactoring for intelligent parallelization of Java 8 streams” is now available.
I am pleased to announce that our poster and extended abstract entitled, “Poster: Towards safe refactoring for intelligent parallelization of Java 8 streams” has been accepted at the International Conference on Software Engineering 2018! The extended abstract will appear in the conference proceedings companion, and the poster will be presented later this year in Gothenburg, Sweden. It is the first author’s, Yiming Tang, my first-year PhD student at the CUNY Graduate Center, first publication while at CUNY. Congrats, Yiming!
I will be giving a talk at the New Jersey Programming Languages and Systems (NJPLS) seminar at Princeton University on November 20th, 2017 on Automated Refactoring of Legacy Java Software to Default Methods. (more…)
The poster for our tool demonstration talk at ASE 2017 on “Defaultification Refactoring: A Tool for Automatically Converting Java Methods to Default” is now available!