Write a Blog >>
ICSE 2023
Sun 14 - Sat 20 May 2023 Melbourne, Australia
Thu 18 May 2023 15:00 - 15:07 at Meeting Room 109 - Software Evolution Chair(s): Sebastiano Panichella

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 May

Displayed 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
15m
Talk
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
15m
Talk
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
15m
Talk
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
15m
Talk
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
15m
Talk
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
7m
Talk
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
7m
Talk
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