Home » Posts tagged 'refactoring'
Tag Archives: refactoring
A journal extension of our ICSE ’19 paper entitled, “Safe Automated Refactoring for Intelligent Parallelization of Java 8 Streams,” has been accepted with minor revisions to the Science of Computer Programming journal.
Slides for my talk on Safe Automated Refactoring for Intelligent Parallelization of Java 8 Streams at Columbia University are now available.
Our new paper entitled, “Safe Automated Refactoring for Intelligent Parallelization of Java 8 Streams” has been accepted to the International Conference on Software Engineering (ICSE) 2019 technical track! Out of 529 submissions, 109 papers were accepted (an acceptance rate of 20.6%). The conference will be held in Montréal later next year. An abstract is listed below. (more…)
Slides for our IEEE SCAM 2018 paper entitled, “A Tool for Optimizing Java 8 Stream Software via Automated Refactoring” are now available. (more…)
A preprint of our upcoming IEEE SCAM 2018 paper entitled, “A Tool for Optimizing Java 8 Stream Software via Automated Refactoring” is now available.
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.