The Co-evolution of the WordPress Platform and its Plugins
One can extend the features of a software system by installing a set of additional components called plugins. WordPress, as a typical example of such plugin-based software ecosystems, is used by millions of websites and has a large number (i.e., 54,777) of available plugins. These plugin-based software ecosystems are different from traditional ecosystems (e.g., NPM dependencies) in a sense that there is a high coupling between a platform and its plugins, compared to traditional ecosystems for which components might not necessarily depend on each other (e.g., NPM libraries do not depend on a specific version of NPM or a specific version of a client software system). The high coupling between a plugin and its platform and other plugins causes incompatibility issues that occur during the co-evolution of a plugin and its platform as well as other plugins. In fact, incompatibility issues represent a major challenge when upgrading WordPress or its plugins. According to our study of the top 500 most-released WordPress plugins, we observe that incompatibility issues represent the 3$^{rd}$ major cause for bad releases, which are rapidly (within the next 24 hours) fixed via urgent releases. 32% of these incompatibilities are between a plugin and WordPress while 19% are between peer plugins. In this paper, we study how plugins co-evolve with the underlying platform as well as other plugins, in an effort to understand the practices that are related support such co-evolution and reduce incompatibility issues. In particular, we investigate how plugins support the latest available versions of WordPress, as well as how plugins are related to each other, and how they co-evolve. We observe that a plugin’s support of new versions of WordPress with a large amount of code change is risky, as the releases which declare such support have a higher chance to be followed by an urgent release compared to ordinary releases. Although plugins support the latest WordPress version, plugin developers omit important changes such as deleting the use of removed WordPress APIs, which are removed a median of 873 days after the APIs have been removed from the source code of WordPress. Plugins introduce new releases that are made according to a median of 5 other plugins, which we refer to as peer-triggered releases. A median of 20% of the peer-triggered releases are urgent releases that fix problems in their previous releases. The most common goal of peer-triggered releases is the fixing of incompatibility issues that a plugin detects as late as after a median of 36 days since the last release of another plugin. Our work sheds light into the co-evolution of WordPress plugins with their platform as well as peer plugins in an effort to uncover the practices of plugin evolution, so WordPress can accordingly design approaches to avoid incompatibility issues.
Thu 18 MayDisplayed time zone: Hobart change
13:45 - 15:15 | Software EvolutionTechnical Track / SEIP - Software Engineering in Practice / Journal-First Papers at Meeting Room 109 Chair(s): Sebastiano Panichella Zurich University of Applied Sciences | ||
13:45 15mTalk | Dependency Facade: The Coupling and Conflicts between Android Framework and Its Customization Technical Track Wuxia Jin Xi'an Jiaotong University, Yitong Dai Xi'an Jiaotong University, Jianguo Zheng Xi'an Jiaotong University, Yu Qu UC Riverside, Ming Fan Xi'an Jiaotong University, Zhenyu Huang Honor Device Co., Ltd., Dezhi Huang Honor Device Co., Ltd., Ting Liu Xi'an Jiaotong University | ||
14:00 15mTalk | SEIP: Investigating a NASA Cyclomatic Complexity Policy on Maintenance Risk of a Critical System SEIP - Software Engineering in Practice Daniel Port University of Hawai‘i at Mānoa, Bill Taber , LiGuo Huang Dept. of Computer Science, Southern Methodist University, Dallas, TX, 75205 | ||
14:15 15mTalk | Aegis: Attribution of Control Plane Change Impact across Layers and Components for Cloud Systems SEIP - Software Engineering in Practice Xiaohan Yan Microsoft Azure, Ken Hsieh , Yasitha Liyanage , Minghua Ma Microsoft Research, Murali Chintalapati Microsoft Azure, Qingwei Lin Microsoft Research, Yingnong Dang Microsoft Azure, Dongmei Zhang Microsoft Research | ||
14:30 15mTalk | An Empirical Study on Change-induced Incidents at Ant Group SEIP - Software Engineering in Practice Yifan Wu Peking University, Bingxu Chai , Ying Li School of Software and Microelectronics, Peking University, Beijing, China, Bingchang Liu Key Laboratory of Network Assessment Technology, Institute of Information Engineering, Chinese Academy of Sciences, China; School of CyberSpace Security at University of Chinese Academy of Sciences, China, Jianguo Li Ant Group, Yong Yang , Wei Jiang | ||
14:45 15mTalk | Fulfilling Industrial Needs for Consistency Among Engineering Artifacts SEIP - Software Engineering in Practice Luciano Marchezan Johannes Kepler University Linz, Wesley Assunção Johannes Kepler University Linz, Austria & Pontifical Catholic University of Rio de Janeiro, Brazil, Edvin Herac , Felix Keplinger Johannes Kepler University, Linz, Alexander Egyed Johannes Kepler University Linz, Christophe Lauwerys | ||
15:00 7mTalk | The Co-evolution of the WordPress Platform and its Plugins Journal-First Papers Jiahuei Lin Queen’s University Software Analysis and Intelligence Lab (SAIL), Canada, Mohammed Sayagh ETS Montreal, University of Quebec, Ahmed E. Hassan Queen’s University | ||
15:07 7mTalk | Client-Specific Upgrade Compatibility Checking via Knowledge-Guided Discovery Journal-First Papers Chenguang Zhu Meta, Mengshi Zhang Meta, Xiuheng Wu Nanyang Technological University, Singapore, Xiufeng Xu Nanyang Technological University, Yi Li Nanyang Technological University Link to publication DOI Pre-print |