Está en la página 1de 2

La principal razón para seleccionar proyectos reconocidos con una larga historia, un gran

número de committers y un número aún mayor de usuarios. Según Samoladas, Angelis y


Stamelos, la mayoría de los proyectos de código abierto se abandonan al cabo de poco tiempo,
lo que los hace inapropiados para el análisis sistemático de los hábitos de programación y
mantenimiento. Kyriakakis & Chatzigeorgiou han realizado un estudio de caso sobre los
siguientes cinco proyectos de código abierto implementados en PHP:

Wordpress: El software de blogs más popular; cuenta con una amplia comunidad tanto de
colaboradores como de usuarios activos.

Drupal. Uno de los CMS (sistema de gestión de contenidos) más avanzados. También se
caracteriza por una amplia y activa comunidad.

PhpBB: Uno de los programas de foros más utilizados.

MantisBt: Probablemente la aplicación de seguimiento de errores más popular escrita en PHP.

PhpMyAdmin: La conocida herramienta de administración de MySQL. En la Figura 1 Kyriakakis


& Chatzigeorgiou muestran algunas estadísticas sobre los proyectos seleccionados. En total,
hemos estudiado 390 versiones oficiales que suman 50 años de evolución del software.

Letarte, Gauthier y Merlo extrajeron el modelo de seguridad del código fuente de PHP
utilizando un enfoque de reingeniería. Primero se utiliza un analizador de PHP para extraer un
gráfico de flujo de control intraprocedimental (CFG) para todas las funciones del sistema.
También se extrae información CFG interprocedimental para representar la relación de
llamada conservadora entre las funciones de todo el sistema. Los anteriores son los principales
enfoques revisados que cómo información dada esta revisión, que ha organizado los diversos
aspectos de la evolución de las aplicaciones PHP.

2 Madurez del Software

En los lenguajes de scripting una fuente importante de código no utilizado es el empleo de


librerías de terceros, que al mismo tiempo es una buena práctica aceptada en el desarrollo de
software y una posible indicación de madurez [2]. En este contexto, Kyriakakis y
Chatzigeorgiou investigaron la cantidad de código de bibliotecas que se utilizaba a lo largo del
tiempo en cada sistema. Otro factor que implica la madurez del software es la estabilidad de
las API correspondientes, por lo que se examinaron seis clases de posibles cambios en las API.

2.1 Uso de bibliotecas


PHP es un lenguaje de programación bastante nuevo y, según Kyriakakis & Chatzigeorgiou, ha
ganado popularidad durante la última década. Una indicación indirecta de la madurez de un
determinado lenguaje de programación es el desarrollo de librerías de terceros y el empleo de
las mismas en otros proyectos. En tres de los cinco proyectos de nuestro estudio hemos
observado una fuerte tendencia a utilizar dichas bibliotecas. Como observa Tulach, la
tendencia en el desarrollo moderno de software es el uso de estos bloques prefabricados para
facilitar y acelerar el desarrollo de aplicaciones. Como hemos demostrado, un efecto
secundario es la introducción de bloques de código no utilizados, debido a la naturaleza de
scripting del lenguaje. Sin embargo, el hecho de que el código fuente de la biblioteca forme
parte del código fuente del sistema nos permite medir la proporción de código de la biblioteca
sobre el código del sistema, algo que no es sencillo con los lenguajes compilados.

2.2 Estabilidad de la interfaz

La estabilidad de una interfaz puede ser caracterizada por el número y tipos de cambios en las
firmas de las funciones. Según la definición estricta de PHP, una firma de función es sólo el
nombre de la función, pero esto no refleja la interfaz correctamente, ya que no se incluyen
parámetros. Para realizar un seguimiento más detallado de los cambios en la interfaz,
Kyriakakis y Chatzigeorgiou también han tenido en cuenta los parámetros obligatorios y
opcionales de las funciones, así como los valores por defecto de los parámetros opcionales.
Clasificaron los posibles cambios en seis categorías, como se muestra en la Figura 2. Para cada
versión de los sistemas examinados, han calculado la proporción de cambios sobre el número
total de firmas, diferenciando entre los seis casos mostrados en la Figura 1. A continuación,
han calculado la media de los cambios sobre el número total de firmas. A continuación, han
calculado la media de todas las versiones para cada proyecto y los resultados se resumen en la
Figura 3. Los valores de los casos C1 a C5 son extremadamente bajos, teniendo en cuenta los
casi diez años de evolución de cada proyecto. Este hecho implica que los equipos de desarrollo
han prestado atención para no romper la compatibilidad con versiones anteriores y que las API
correspondientes están maduras. Los cambios del 6º tipo muestran una media que oscila entre
el 3,75% de phpMyAdmin y el 14,22% de phpBB, lo que corrobora la afirmación anterior, ya
que a pesar de los cambios de implementación de varias funciones, las firmas
correspondientes se han mantenido estables.

Traducción realizada con la versión gratuita del traductor www.DeepL.com/Translator

También podría gustarte