首页> 外文期刊>Science of Computer Programming >Exploring the frequency and change proneness of dynamic feature pattern instances in PHP applications
【24h】

Exploring the frequency and change proneness of dynamic feature pattern instances in PHP applications

机译:探索PHP应用程序中动态功能模式实例的频率和更改倾向

获取原文
获取原文并翻译 | 示例

摘要

Although numerous technologies are available for developing web applications, PHP holds the lions' share of web content today. PHP offers several features that enable developers to easily produce dynamically extendible code, forming an entire ecosystem of standard as well as more 'exotic' opportunities that can be exploited. One reason that drives developers to rely on the dynamic features of a scripting language is to enable effortless functionality extensions. The aim of this work is twofold: initially, we (a) provide an overview of all possible dynamically extendible code patterns (i.e., either through method invocation, or object instantiation) and (b) investigate their frequency by mining the code base of ten milestone PHP projects to identify the subset of patterns that developers actually use. Next, in order to investigate whether the expected flexibility of these patterns stands in practice, we examine if code chunks that instantiate them are more stable than other parts of the code. In particular, we study whether methods that employ dynamic invocation and instantiation patterns are less change prone than the other methods. The findings imply that although a small subset of all the theoretically feasible patterns is actually put to use, the code that is developed upon such patterns is less change prone. (C) 2018 Elsevier B.V. All rights reserved.
机译:尽管有许多技术可用于开发Web应用程序,但PHP在当今的Web内容中占有最大的份额。 PHP提供了多种功能,使开发人员可以轻松地生成可动态扩展的代码,从而形成一个完整的标准生态系统以及可以利用的更多“奇特”机会。促使开发人员依赖脚本语言的动态功能的一个原因是启用毫不费力的功能扩展。这项工作的目的是双重的:最初,我们(a)提供所有可能的动态可扩展代码模式的概述(即通过方法调用或对象实例化),以及(b)通过挖掘10个代码库来研究其频率。具有里程碑意义的PHP项目可以识别开发人员实际使用的模式的子集。接下来,为了研究这些模式的预期灵活性在实践中是否可行,我们检查实例化它们的代码块是否比代码的其他部分更稳定。特别是,我们研究采用动态调用和实例化模式的方法是否比其他方法更不易更改。这些发现暗示着,尽管实际上使用了所有理论上可行的模式的一小部分,但是在这种模式下开发的代码却不太容易更改。 (C)2018 Elsevier B.V.保留所有权利。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号