Loading [a11y]/accessibility-menu.js
Defaultification refactoring: A tool for automatically converting Java methods to default | IEEE Conference Publication | IEEE Xplore

Defaultification refactoring: A tool for automatically converting Java methods to default


Abstract:

Enabling interfaces to declare (instance) method implementations, Java 8 default methods can be used as a substitute for the ubiquitous skeletal implementation software d...Show More

Abstract:

Enabling interfaces to declare (instance) method implementations, Java 8 default methods can be used as a substitute for the ubiquitous skeletal implementation software design pattern. Performing this transformation on legacy software manually, though, may be non-trivial. The refactoring 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. All of this is necessary to preserve type-correctness and confirm semantics preservation. We demonstrate an automated refactoring tool called MIGRATE Skeletal Implementation to Interface for transforming legacy Java code to use the new default construct. The tool, implemented as an Eclipse plug-in, is driven by an efficient, fully-automated, type constraint-based refactoring approach. It features an extensive rule set covering various corner-cases where default methods cannot be used. The resulting code is semantically equivalent to the original, more succinct, easier to comprehend, less complex, and exhibits increased modularity. A demonstration can be found at http://youtu.be/YZHIy0yePh8.
Date of Conference: 30 October 2017 - 03 November 2017
Date Added to IEEE Xplore: 23 November 2017
ISBN Information:
Conference Location: Urbana, IL, USA

Contact IEEE to Subscribe

References

References is not available for this document.