Category Archives: Research

Paper on Default Method Refactoring accepted at ICSE 2017

Our new paper on default method refactoring has been accepted for inclusion in the proceedings of the International Conference on Software Engineering, to be held in Buenos Aires in 2017! The conference accepted a total of 68 submissions out of 398 reviewed (17%) and 415 submitted (16%).

New Student David wins 2017 Hunter College Research Fellowship

Welcome aboard, David Morant, my new research student! David has been awarded a 2017 Undergraduate Research Fellowship from Hunter’s Undergraduate Research Initiative, and we will be working together during the Spring 2017 semester.

David is an avid Android developer that is taking the CSCI 49900 capstone course at Hunter this semester. Along with his group, he has been working on a web-based application, as well as a REST API, for finding available resources on campus. The project also includes an Android client.

David has also worked as an Android development trainer at several companies, including Coalition for Queens and Turn to Tech.  He has also interned as a front-end developer and assisted teaching a Python course.

Journal version of Automated Refactoring of Legacy Software to Enumerated Types to appear in Automated Software Engineering

I am happy to report that the journal version of our paper entitled “Automated Refactoring of Legacy Java Software to Enumerated Types” has been accepted for publication in the International Journal of Automated Software Engineering.

Graduate Research Assistant Position in Programming Languages and Software Engineering

Graduate Research Assistant Position in Programming Languages and Software Engineering

Overview

I am currently seeking a graduate student interested in programming languages and software engineering research to commence at the Fall 2017 semester. Potential research topics include (static/dynamic) program analysis and/or transformation (e.g., refactoring) with a focus on helping to maintain and/or evolve large and complex existing software systems. Potential topics also include automated bug finding approaches and software security w.r.t. software evolution and/or component composition. The successful candidate will be expected to work on projects that normally yield open source developer tool research prototypes, typically plug-ins to popular IDEs, build systems, or static analyzers. More information can be found on on the main supervisor’s webpage.

Of particular interest are students interested in applying to the City University of New York – CUNY’s Graduate Center Ph.D. program in Computer Science concurrently with the research assistantship, see below.

The Ph.D. Program application deadline is January 1, 2016. Please see below for additional details on applying.

Continue reading

Migrate-Skeletal-Implementation-to-Interface-Refactoring: A refactoring prototype plug-in for Eclipse that migrates Java skeletal implementations to enhanced interfaces.

Looking for an open source project to contribute to? Like refactoring and/or code analysis? Like Java? Come check out our new project on GitHub.

Migrate-Skeletal-Implementation-to-Interface-Refactoring – A refactoring prototype plug-in for Eclipse that migrates Java skeletal implementations to enhanced interfaces.

Source: khatchad/Migrate-Skeletal-Implementation-to-Interface-Refactoring: A refactoring prototype plug-in for Eclipse that migrates Java skeletal implementations to enhanced interfaces.

Panel – Modularity Across the System Stack: Challenges and Opportunities at Modularity 2016

I am pleased to announce that I will be¬†participating in a panel discussion on challenges and opportunities¬†at the 2016¬†Modularity Across the System Stack workshop (MASS’16) at the 2016 International Conference on Modularity¬†(MODULARITY’16)¬†in M√°laga, Spain.

Upcoming Event: Towards Improving Interface Modularity in Legacy Java Software Through Automated Refactoring at the Computer Systems Technology Colloquium

I’ll be giving a talk on improving interface modularity in legacy Java software through automated refactoring at the CST Colloquium next month.

The skeletal implementation pattern is a software design pattern consisting of defining an abstract class that provides a partial interface implementation. However, since Java allows only single cl…

Source: Upcoming Events | Towards Improving Interface Modularity in Legacy Java Software Through Automated Refactoring | Computer Systems Technology Colloquium

Paper at the International Workshop on Language Modularity √Ä La Mode (LaMOD’16)

I am pleased to announce that our paper on¬†improving interface modularity in legacy Java software through automated refactoring has been accepted at the¬†International Workshop on Language Modularity √Ä La Mode (LaMOD’16), to be held at the International Conference on Software Modularity (MODULARITY’16) later next month in M√°laga, Spain. Congrats, @oamoore and @hmasuhara!

College Assistantship Position in Programming Languages Available

CUNY Diversity Projects Development Fund (DPDF) College Assistantship for Spring 2016 at New York City College of Technology

Fund Description

The City University of New York (CUNY) Diversity Projects Development Fund (DPDF) was established by the Office of the Vice Chancellor for Human Resources Management to support educational projects scholarly research, creative activities and other programmatic initiatives that promote multiculturalism, diversity and inclusion, affirmative action and nondiscrimination for the benefit of the University community.

Project Description

The research project will consist of the beginning steps for creating a programming development environment particularly geared towards helping college students learn Computer Science and Software Engineering concepts. The application created will ultimately be used at New York City College of Technology (NYCCT) of the City University of New York for beginning programming classes to ease students into programming with an industrial programming language. Continue reading