Understanding the adoption of modern Javascript features: An empirical study on open-source systems
JavaScript is a widely used programming language initially designed to make the Web more dynamic in the 1990s. In the last decade, though, its scope has extended far beyond the Web, finding utility in backend development, desktop applications, and even IoT devices. To circumvent the needs of modern programming, JavaScript has undergone a remarkable evolution since its inception, with the groundbreaking release of its sixth version in 2015 (ECMAScript 6 standard). While adopting modern JavaScript features promises several benefits (such as improved code comprehension and maintenance), little is known about which modern features of the language have been used in practice (or even ignored by the community). To fill this gap, in this paper, we report the results of an empirical study that aims to understand the adoption trends of modern JavaScript features, and whether or not developers conduct rejuvenation efforts to replace legacy JavaScript constructs and idioms with modern ones in legacy systems. To this end, we mined the source code history of 158 JavaScript open-source projects, identified contributions to rejuvenate legacy code, and used time series to characterize the adoption trends of modern JavaScript features. The results of our study reveal extensive use of JavaScript modern features which are present in more than 80% of the analyzed projects. Our findings also reveal that (a) the widespread adoption of modern features happened between one and two years after the release of ES6 and, (b) a consistent trend toward increasing the adoption of modern JavaScript language features in open-source projects and (c) large efforts to rejuvenate the source code of their programs.
Thu 16 AprDisplayed time zone: Brasilia, Distrito Federal, Brazil change
11:00 - 12:30 | Evolution 2SE In Practice (SEIP) / Journal-first Papers at Oceania VIII Chair(s): Timo Kehrer University of Bern | ||
11:00 15mTalk | How do Machine Learning Models Change? Journal-first Papers Joel Castaño Fernández Universitat Politècnica de Catalunya, Rafael Cabañas Department of Mathematics and CDTIME, University of Almería, Antonio Salmerón Department of Mathematics and CDTIME, University of Almería, David Lo Singapore Management University, Silverio Martínez-Fernández UPC-BarcelonaTech | ||
11:15 15mTalk | A Taxonomy of Contextual Factors in Continuous Integration Processes Journal-first Papers Shujun Huang Delft University of Technology (TU Delft), Sebastian Proksch Delft University of Technology | ||
11:30 15mTalk | Understanding the adoption of modern Javascript features: An empirical study on open-source systems Journal-first Papers Walter Lucas Monteiro de Mendonça University of Brasília, Rafael Nunes University of Brasília, Rodrigo Bonifácio Informatics Center - CIn/UFPE and Computer Science Department / University of Brasília, Fausto Carvalho University of Brasília, Ricardo Lima University of Brasília, Michael Silva University of Brasília, Adriano Torres University of Brasília, Paola Accioly Federal University of Pernambuco, Brazil, Eduardo Monteiro University of Brasília, João Saraiva | ||
11:45 15mTalk | Adapting Installation Instructions in Rapidly Evolving Software Ecosystems Journal-first Papers Haoyu Gao The University of Melbourne, Christoph Treude Singapore Management University, Mansooreh Zahedi The Univeristy of Melbourne | ||
12:00 15mTalk | On the Need to Monitor Continuous Integration Practices Journal-first Papers Jadson Santos Universidade Federal do Rio Grande do Norte, Daniel Alencar Da Costa University of Otago, Shane McIntosh University of Waterloo, Uirá Kulesza Federal University of Rio Grande do Norte | ||
12:15 15mTalk | Technical Credit: Industry Views on Benefits and BarriersDistinguished Paper Award SE In Practice (SEIP) Alessio Bucaioni Mälardalen University, Ian Gorton Northeastern University – Seattle, USA, Patrizio Pelliccione Gran Sasso Science Institute, L'Aquila, Italy | ||