Home » Posts tagged 'default methods'
Tag Archives: default methods
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. Below is an abstract:
Java 8 default methods, which allow interfaces to contain (instance) method implementations, are useful for the skeletal implementation software design pattern. However, it is not easy to transform existing software to exploit default methods as it requires analyzing complex type hierarchies, resolving multiple implementation inheritance issues, reconciling differences between class and interface methods, and analyzing tie-breakers (dispatch precedence) with overriding class methods to preserve type-correctness and confirm semantics preservation. In this paper, we present an efficient, fully-automated, type constraint-based refactoring approach that assists developers in taking advantage of enhanced interfaces for their legacy Java software. The approach features an extensive ruleset that covers various corner-cases where default methods cannot be used. To demonstrate applicability, we implemented our approach as an Eclipse plug-in and applied it to 19 real-world Java projects, as well as submitted pull requests to popular GitHub repositories. The indication is that it is useful in migrating skeletal implementation methods to interfaces as default methods, sheds light onto the pattern’s usage, and provides insight to language designers on how this new construct applies to existing software.
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!
Slides for our tool demonstration talk at ASE 2017 on “Defaultification Refactoring: A Tool for Automatically Converting Java Methods to Default” are now available!
A preprint of our ASE 2017 tool demonstration paper entitled “Defaultification Refactoring: A Tool for Automatically Converting Java” is now available. (more…)
Slides for our talk on default method refactoring at ICSE 2017 are now available on slideshare. (more…)
A preprint of our ICSE 2017 paper on Default Method Refactoring is now available.
I’ll be giving a talk at the George Mason University Department of Computer Science tomorrow at 1pm on joint work with Hidehiko Masuhara from Tokyo Tech entitled “Automated Refactoring of Legacy Java Software to Default Methods.”
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%).