¿Qué es la minería de software?
La minería de software es un proceso mediante el cual una persona o grupo, generalmente involucrado en la industria de la tecnología de la información (TI), mira el código fuente de un programa de software para determinar la información al respecto. Esto se puede hacer de diferentes maneras, aunque a menudo se usa otro software para hacer el proceso más fácil o más rápido. La información encontrada a través de este método se puede usar de varias maneras y se utiliza de manera rutinaria para crear modelos para el desarrollo de software en el futuro. La minería de software es similar en algunos aspectos a la minería de datos, aunque el tipo de información obtenida y sus usos pueden ser bastante diferentes.
El proceso de extracción de software a menudo es utilizado por empresas y desarrolladores de software para extraer datos de un programa para su uso en el desarrollo de nuevo software. Por lo general, esto lo hacen los desarrolladores de software que revisan las diversas líneas de código que conforman un programa y extraen datos de ese código. A menudo, se utilizan otros programas para facilitar la minería de software, a menudo buscando ciertos términos o segmentos dentro del propio código. La información encontrada de esta manera se puede usar de muchas maneras, a menudo como modelo para el desarrollo de nuevos programas.
La minería de software generalmente es realizada por una compañía o individuo en un software que fue desarrollado por esa compañía, es legalmente propiedad de la compañía o se proporciona bajo una licencia de código abierto. Esto hace que el uso de cualquier información extraída a través del proceso de minería sea legal. Sin embargo, la minería de software realizada en un programa propiedad de otra persona o empresa puede violar las leyes de derechos de autor que protegen el software como propiedad intelectual. Sin embargo, esto puede ser algo así como un área legal nebulosa en algunos casos, por lo que la minería debe ser realizada cuidadosamente por un programador o desarrollador.
En muchos sentidos, la minería de software es similar a otro proceso conocido como minería de datos. La minería de datos a menudo utiliza técnicas y aplicaciones similares a las utilizadas en el software de minería, aunque se realiza en bases de datos y otras grandes cantidades de datos sin procesar en lugar de un programa de software en particular. Sin embargo, los dos términos se usan indistintamente por algunos profesionales de TI, por lo que la "minería de datos" también se puede usar con respecto a un programa de software. Mientras que la minería de datos comúnmente busca obtener datos útiles y específicos de un gran conjunto de datos, la minería de software a menudo se realiza para encontrar cómo se crearon las tablas de datos y el código en primer lugar.