Home » Posts tagged 'automated refactoring'

Tag Archives: automated refactoring

Recent News




Received three-year NSF research grant on imperative Deep Learning program robustness and evolution as PI

I am pleased to announce that I, along with co-PI Anita Raja, have received a three-year standard research grant from the National Science Foundation (NSF) Software & Hardware Foundations (SHF) program as principal investigator (PI) for a project entitled “Practical Analyses and Safe Transformations for Imperative Deep Learning Programs.” The total grant amount is $600K.

The project will facilitate the robustness and automated evolution and maintenance of large, industrial Deep Learning (DL) software systems that use imperative style programming. More information may be found on NSF’s website; stay tuned for more details and funded research opportunities!

Slides for stream refactoring talk at Columbia University now available

Slides for my talk on Safe Automated Refactoring for Intelligent Parallelization of Java 8 Streams at Columbia University are now available.

Preprint now available for ICSE 2019 paper

A preprint for our ICSE 2019 paper entitled “Safe Automated Refactoring for Intelligent Parallelization of Java 8 Streams” is now available!

Best paper award at IEEE SCAM 2018

We are honored to receive a best paper award at the 2018 IEEE International Working Conference on Source Code Analysis and Transformation (SCAM ’18) for our paper entitled, “A Tool for Optimizing Java 8 Stream Software via Automated Refactoring” with Yiming Tang, Mehdi Beherdezeh, and Syed Ahmed. (more…)

Paper accepted at IEEE SCAM 2018

Our paper entitled, “A Tool for Optimizing Java 8 Stream Software via Automated Refactoring,” has been accepted in the Engineering Track of the 18th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2018), to be held in Madrid, Spain in September. An abstract of the paper is listed below: (more…)

Optimize Java 8 Streams Refactoring Tool Demonstration on YouTube

Presenting our poster on Java 8 Stream refactoring at ICSE 2018

Raffi @ ICSE 2018
Raffi at ICSE 2018 in Gothenburg, Sweden.

ICSE 2018 poster now available

Our ICSE 2018 poster entitled, “Towards safe refactoring for intelligent parallelization of Java 8 Streams,” is now available.

Received PSC-CUNY Enhanced Research Award

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.

Talk at IBM Programming Languages Day 2017 on December 4

I will be giving a talk at the 2017 IBM Programming Languages Day on December 4 at the IBM T.J. Watson Research Center in Yorktown Heights, NY. I will be discussing our recent work on empirically assessing new language features proactively via automated refactoring.

Need help with the Commons? Visit our
help page
Send us a message