Proactive Empirical Assessment of New Language Feature Adoption via Automated Refactoring: The Case of Java 8 Default Methods
Raffi Khatchadourian (City University of New York, United States),, Hidehiko Masuhara (The University of Tokyo, Japan)

TL;DR
This paper presents an empirical study on Java 8 default methods, using automated refactoring to proactively evaluate their adoption and usefulness in real-world projects, providing insights for language design.
Contribution
It introduces a novel automated refactoring approach to assess new language feature adoption without relying on developer-initiated changes.
Findings
Developers did not adopt default methods in all situations
Automated refactoring successfully introduced default methods in open source projects
The technique can guide future language evolution and best practices
Abstract
Programming languages and platforms improve over time, sometimes resulting in new language features that offer many benefits. However, despite these benefits, developers may not always be willing to adopt them in their projects for various reasons. In this paper, we describe an empirical study where we assess the adoption of a particular new language feature. Studying how developers use (or do not use) new language features is important in programming language research and engineering because it gives designers insight into the usability of the language to create meaning programs in that language. This knowledge, in turn, can drive future innovations in the area. Here, we explore Java 8 default methods, which allow interfaces to contain (instance) method implementations. Default methods can ease interface evolution, make certain ubiquitous design patterns redundant, and improve both…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
