Conference PaperPDF Available

Aplicación de Técnicas de Minería de Datos en la Construcción y Validación de Modelos Predictivos y Asociativos a Partir de Especificaciones de Requisitos De Software.

Authors:
APLICACIÓN DE TÉCNICAS DE MINERÍA DE DATOS EN LA
CONSTRUCCIÓN Y VALIDACIÓN DE MODELOS PREDICTIVOS Y
ASOCIATIVOS A PARTIR DE ESPECIFICACIONES DE REQUISITOS
DE SOFTWARE
María N. Moreno García, Luis A. Miguel Quintales, Francisco J. García Peñalvo y M.
José Polo Martín
Universidad de Salamanca. Departamento de Informática y Automática
Teléfono: 34-923-294653, Fax: 34-923-294514, *e-mail: mmg@usal.es
5HVXPHQ: La medición del software está adquiriendo una gran importancia debido a que cada
vez se hace más patente la necesidad de obtener datos objetivos que permitan evaluar,
predecir y mejorar la calidad del software así como el tiempo y coste de desarrollo del mismo.
El valor de las mediciones aumenta cuando se realiza sobre modelos construidos en las
primeras fases del proyecto ya que los resultados obtenidos permiten tenerlo bajo control en
todo momento y corregir a tiempo posibles desviaciones. La proliferación actual de métricas y
el gran volumen de datos que se maneja ha puesto de manifiesto que las técnicas clásicas de
análisis de datos son insuficientes para lograr los objetivos perseguidos. En este trabajo se
presenta la forma en que pueden aplicarse las nuevas técnicas de minería de datos en la
construcción y validación de modelos de ingeniería del software, cambiando el análisis
tradicional de datos GLULJLGRDODYHULILFDFLyQ por un enfoque de análisis de datos GLULJLGRDO
GHVFXEULPLHQWRGHOFRQRFLPLHQWR.
1. Introducción
Las primeras etapas del desarrollo de software son cruciales en la consecución de productos
de calidad dentro de los límites de tiempo y coste establecidos para un proyecto. Los errores
introducidos en las primeras etapas del desarrollo del software o durante su evolución son
causa frecuente de dificultades en el mantenimiento, baja reutilización y comportamiento
defectuoso de los programas. Igualmente, las malas estimaciones realizadas al comienzo del
proyecto tienen consecuencias desastrosas en cuanto a costes y plazos de entrega. Estas son
las principales causas por las que la medición del software en el ámbito de la especificación
de requisitos (ERS) está adquiriendo cada vez mayor importancia, debido a la necesidad de
obtener datos objetivos que contribuyan a mejorar la calidad desde las primeras etapas del
proyecto.
Los estudios relacionados con la medición en el nivel de la especificación de requisitos se
han centrado fundamentalmente en el desarrollo de métricas para determinar el tamaño y la
funcionalidad del software. Entre las de mayor difusión se encuentran las métricas de puntos
de función [Albrecht, 1979], métricas Bang [DeMarco, 1982] o los puntos objeto [Boehm et
al., 1995]. La medición de atributos de calidad de las especificaciones de requisitos del
software (ERS) ha sido también objeto de algunos trabajos que van desde la medición de
especificaciones formales [Samson et al., 1990] hasta la aplicación de métricas para evaluar la
calidad de especificaciones expresadas informalmente en lenguaje natural (métricas de
facilidad de comprensión del texto contenido en los documentos [Lehner, 1993] o métricas de
estructura y organización en documentos convencionales [Arthur y Stevens, 1989] y con
hipertexto [French et al., 1997] [Roth et al., 1994]), pasando por técnicas encaminadas a
determinar el cumplimiento de los estándares, directrices, especificaciones y procedimientos,
que requieren información procedente de revisiones técnicas, inspecciones :DONWKURXJK, o
auditorías [Davis et al., 1993] [Brykczynski, 1999] [Farbey, 1990]. La creciente adopción de
la tecnología de orientación a objetos en el desarrollo de software ha dado lugar a la aparición
de nuevas métricas específicas para este tipo de sistemas [Chidamber y Kemerer, 1994],
[Lorenz y Kidd 1994], [Churcher y Shepperd, 1995] [Binder, 1994]. Recientemente se han
propuesto métricas para la evaluación de la calidad a partir de modelos producidos en etapas
iniciales del ciclo de vida, como son las métricas de calidad y complejidad en modelos OMT
[Genero et al., 1999], métricas de calidad de los diagramas de clases en UML [Genero et al.,
1999, 2000] o las técnicas de medición de modelos conceptuales basados en eventos [Poels,
2000].
La proliferación actual de métricas y la necesidad de medir diferentes aspectos del software
está contribuyendo a crear confusión sobre las relaciones entre tales medidas, así como sobre
su forma y ámbito de aplicación. Este hecho ha abierto una nueva vía en la investigación
orientada hacia la propuesta de modelos, arquitecturas y marcos de referencia (framewors)
que permitan la organización de las medidas y la clasificación de las entidades de software
susceptibles de medir [Poels, 1998] [Briand et al., 1999] [Moreno et al. 2001]. La
construcción de modelos sobre diferentes aspectos del software requiere la recolección de
numerosos datos procedentes de observaciones empíricas. Los avances tecnológicos actuales
posibilitan la rápida obtención de grandes cantidades de datos de fuentes muy diversas, así
como el almacenamiento eficiente de los mismos. Dichos datos encierran información muy
valiosa que puede tratarse mediante los métodos tradicionales de análisis de datos, sin
embargo estos métodos no son capaces de encontrar toda la información útil latente en la gran
masa de datos que se maneja. En ese contexto, las técnicas de minería de datos surgen como
las mejores herramientas para realizar exploraciones más profundas y extraer información
nueva, útil y no trivial que se encuentra oculta en grandes volúmenes de datos.
En este trabajo se muestra la aplicación práctica de técnicas de minería de datos en la
construcción y validación de modelos de ingeniería del software que relacionan diferentes
atributos de la ERS con el objeto de predecir características del software producido tales
como calidad, funcionalidad, tamaño, complejidad, etc. Los resultados obtenidos serán
indicativos tanto de la calidad como de la utilidad de los modelos de requisitos realizados.
7pFQLFDVGHPLQHUtDGHGDWRV
La minería de datos ha dado lugar a una paulatina sustitución del análisis de datos GLULJLGRD
OD YHULILFDFLyQ por un enfoque de análisis de datos GLULJLGR DO GHVFXEULPLHQWR GHO
FRQRFLPLHQWR. La principal diferencia entre ambos se encuentra en que en el último se
descubre información sin necesidad de formular previamente una hipótesis. La aplicación
automatizada de algoritmos de minería de datos permite detectar fácilmente patrones en los
datos, razón por la cual esta técnica es mucho más eficiente que el análisis dirigido a la
verificación cuando se intenta explorar datos procedentes de repositorios de gran tamaño y
complejidad elevada. Dichas técnicas emergentes se encuentran en continua evolución como
resultado de la colaboración entre campos de investigación tales como bases de datos,
reconocimiento de patrones, inteligencia artificial, sistemas expertos, estadística,
visualización, recuperación de información, y computación de altas prestaciones.
Los algoritmos de minería de datos se clasifican en dos grandes categorías: supervisados o
predictivos y no supervisados o de descubrimiento del conocimiento [Weiss y Indurkhya,
1998].
Los algoritmos VXSHUYLVDGRVR SUHGLFWLYRV predicen el valor de un atributo (HWLTXHWD) de un
conjunto de datos, conocidos otros atributos (DWULEXWRVGHVFULSWLYRV). A partir de datos cuya
etiqueta se conoce se induce una relación entre dicha etiqueta y otra serie de atributos. Esas
relaciones sirven para realizar la predicción en datos cuya etiqueta es desconocida. Esta forma
de trabajar se conoce como DSUHQGL]DMH VXSHUYLVDGR y se desarrolla en dos fases:
Entrenamiento (construcción de un modelo usando un subconjunto de datos con etiqueta
conocida) y prueba (prueba del modelo sobre el resto de los datos).
Cuando una aplicación no es lo suficientemente madura no tiene el potencial necesario para
una solución predictiva, en ese caso hay que recurrir a los métodos QR VXSHUYLVDGRV R GH
GHVFXEULPLHQWRGHOFRQRFLPLHQWR que descubren patrones y tendencias en los datos actuales
(no utilizan datos históricos). El descubrimiento de esa información sirve para llevar a cabo
acciones y obtener un beneficio (científico o de negocio) de ellas. En la tabla siguiente se
muestran algunas de las técnicas de minería de ambas categorías.
6XSHUYLVDGRV 1RVXSHUYLVDGRV
Árboles de decisión Detección de desviaciones
Inducción neuronal Segmentación
Regresión Agrupamiento ("clustering")
Series temporales Reglas de asociación
Patrones secuenciales
7DEODClasificación de las técnicas de minería de datos
La aplicación de los algoritmos de minería de datos requiere la realización de una serie de
actividades previas encaminadas a preparar los datos de entrada debido a que, en muchas
ocasiones dichos datos proceden de fuentes heterogéneas, no tienen el formato adecuado o
contienen ruido. Por otra parte, es necesario interpretar y evaluar los resultados obtenidos. El
proceso completo consta de las siguientes etapas [Cabena et al., 1998]:
1. 'HWHUPLQDFLyQGHREMHWLYRV
2. 3UHSDUDFLyQGHGDWRV
- Selección: Identificación de las fuentes de información externas e internas y
selección del subconjunto de datos necesario.
- Preprocesamiento: estudio de la calidad de los datos y determinación de las
operaciones de minería que se pueden realizar.
3. 7UDQVIRUPDFLyQGHGDWRV: conversión de datos en un modelo analítico.
4. 0LQHUtDGHGDWRV: tratamiento automatizado de los datos seleccionados con una
combinación apropiada de algoritmos.
5. $QiOLVLVGHUHVXOWDGRV: interpretación de los resultados obtenidos en la etapa anterior,
generalmente con la ayuda de una técnica de visualización.
6. $VLPLODFLyQGHFRQRFLPLHQWR: aplicación del conocimiento descubierto.
Aunque los pasos anteriores se realizan en el orden en que aparecen, el proceso es altamente
iterativo, estableciéndose retroalimentación entre los mismos. Además, no todos los pasos
requieren el mismo esfuerzo, generalmente la etapa de preprocesamiento es la más costosa ya
que representa aproximadamente el 60 % del esfuerzo total, mientras que la etapa de minería
sólo representa el 10%.
$SOLFDFLRQHVGHODPLQHUtDGHGDWRVHQODPHGLFLyQGHOVRIWZDUH
Las técnicas de minería de datos se están utilizando desde hace varios años para la obtención
de patrones en los datos y para la extracción de información valiosa en el campo de la
Ingeniería del Software. Entre estas aplicaciones podemos citar la utilización de árboles de
decisión en la construcción de modelos de clasificación de diferentes características del
desarrollo de software [Khoshgoftaar y Allen, 1999] [Porter y Selby, 1990] [Tian y Palma,
1998], la aplicación de técnicas de FOXVWHULQJ en la planificación del mantenimiento [Krohn
y Boldyreff, 1999] y en la estimación de la fiabilidad del software [Podgurski et al., 1999] o el
uso de redes neuronales en la predicción de riesgos de mantenimiento en módulos de
programa [Khoshgoftaar y Lanning, 1995]. La mayor parte de los trabajos realizados están
dirigidos a la obtención de modelos de estimación de esfuerzo de desarrollo [Srinivasan y
Fisher, 1995] y modelos de predicción de diferentes aspectos de la calidad del software
[Khoshgoftaar et al., 1997]. En ambos casos, las métricas tanto de productos como de
procesos juegan un papel importante, constituyendo la base para la construcción de los
modelos y posterior validación de los mismos. En publicaciones recientes aparece la
introducción de algoritmos de minería en la realización de validaciones de modelos obtenidos
mediante otras técnicas. En estos trabajos se comprueba la validez de modelos de estimación
mediante métodos de regresión, redes neuronales, algoritmos genéticos, etc. [Dolado, 2000],
se validan métricas, e incluso IUDPHZRUNV de medición [Mendonça y Basili, 2000].
(MHPSORVGHDSOLFDFLyQ
En este apartado se muestran algunos ejemplos de aplicación de las técnicas mencionadas en
la construcción de modelos de estimación del tamaño de un proyecto. Se ha utilizado la
herramienta MineSet de Silicon Graphics sobre un conjunto de datos procedentes de
experimentos llevados a cabo por Dolado y descritos en [Dolado, 2000].
(VWXGLRSUHYLRGHORVGDWRVXWLOL]DGRV
Se dispone de datos referentes a 42 proyectos implementados con un lenguaje de cuarta
generación (Informix-4GL). Los sistemas desarrollados son aplicaciones de contabilidad con
las características de sistemas comerciales, cada uno incluye alguno de los siguientes
subsistemas. Compras, ventas, inventario, finanzas y ciclos de producción. Esta información
se ha dividido en dos grupos, en el primero se ha realizado la descomposición del proyecto en
módulos o componentes de tres tipos diferentes siguiendo las pautas de Verner y Tate [Verner
y Tate, 1992] y se han obtenido atributos de cada uno de los módulos. El segundo grupo
contiene datos globales de cada uno de los proyectos. En el primer caso contamos con 1537
registros con datos referentes a los módulos, mientras que en el segundo caso se trabaja con
42 registros con información correspondiente a los proyectos estudiados.
'HVFULSFLyQGHORVDWULEXWRVGHORVPyGXORV
TYPECOMP: Tipo de componente (1: menú, 2: entrada, 3: informe/consulta)
OPTMENU: Número de opciones (sólo para componentes de tipo 1)
DATAELEMEN: Número de elementos de datos (sólo para componentes de tipo 2 y 3)
RELATION: Número de relaciones (sólo para componentes de tipo 2 y 3)
LOC: Número de líneas de código del módulo
Con los datos de este fichero se ha realizado un estudio estadístico de cada uno de los
atributos de los módulos que componen el proyecto. En las figuras 1, 2 y 3 aparece la
distribución de valores de atributos para cada uno de los tipos de componente.
)LJXUDEstadísticas para componentes de tipo 1 (menú)
)LJXUDEstadísticas para componentes de tipo 2 (entradas)
)LJXUDEstadísticas para componentes de tipo 3 (informes/consultas)
Para obtener las relaciones existentes entre los distintos atributos se han representado sus
correspondientes valores mediante gráficos de dispersión (figuras 4 y 5). En ellos se puede
observar que los valores de los atributos número de elementos de datos y número de
relaciones tienen una clara influencia en el número de líneas de código.
)LJXUDGráfico de dispersión para componentes de tipo 2 (entradas)
)LJXUDGráfico de dispersión para componentes de tipo 3 (informes/consultas)
'HVFULSFLyQGHORVDWULEXWRVGHSUR\HFWRV
Los atributos que se describen a continuación son los utilizados en el método Mark II
[Symons, 1991] para el cálculo de los puntos de función. El método considera el sistema
compuesto de transacciones lógicas. Una transacción lógica es una única combinación
entrada/proceso/salida activada por un único evento que tiene significado para el usuario o es
el resultado de una consulta o extracción de información. El concepto de entidad sustituye al
de fichero lógico.
LOC: Número de líneas de código
NOC: Número de componentes
NTRNSMKII: Número de transacciones MKII
INPTMKII: Número total de entradas
ENTMKII: Número de entidades referenciadas
OUTMKII: Número total de salidas (elementos de datos sobre todas las transacciones)
UFPMKII: Número de puntos de función no ajustados MKII
Para realizar la contabilización de entidades, éstas se dividen en primarias (aquellas para las
que se construye el sistema con la intención de recolectar y almacenar datos) y no primarias
(las utilizadas como referencia, validación, etc.). Todas las entidades no primarias se engloban
en una única denominada entidad del sistema. Se contabiliza el numero de entidades a las que
se hace referencia en cada transacción, no el número de referencias.
En cuanto al número de entradas y salidas, se cuentan los tipos de elementos de datos, no
ocurrencias (aplicable también a las tablas). No se cuentan elementos de datos de cabeceras o
pies de pantalla no generados específicamente para esa pantalla, tampoco se contabilizan
etiquetas, cajas, etc. Los mensajes de error se consideran ocurrencias del tipo de dato
mensaje de error (análogo para los mensajes de operador).
El estudio estadístico realizado sobre los atributos anteriores se refleja en la figura 6.
)LJXUDEstadísticas para atributos de proyectos
$SOLFDFLyQGHWpFQLFDVGHPLQHUtDGHGDWRV
Los datos anteriores se han tratado con diferentes algoritmos de minería de datos. En todos los
casos se han realizado validaciones cruzadas para crear los conjuntos de prueba y
entrenamiento, dividiendo de forma iterativa los datos en conjuntos mutuamente excluyentes.
Una de las técnicas de minería de datos más intuitivas es la de los iUEROHVGHGHFLVLyQ, que
consiste en la creación de un modelo de clasificación a partir de un conjunto de entrenamiento
y de un LQGXFWRU. Los registros del conjunto de entrenamiento tienen que pertenecer a un
pequeño grupo de clases predefinidas, cada clase corresponde a un valor de la etiqueta. El
modelo inducido (FODVLILFDGRU) consiste en una serie de patrones que son útiles para distinguir
las clases. Una vez que se ha inducido el modelo se puede utilizar para predecir
automáticamente la clase de otros registros no clasificados (de etiqueta desconocida). Los
algoritmos utilizados para construir el modelo de clasificación del árbol intentan encontrar
valores de los atributos que proporcionen la máxima separación en los datos del conjunto de
entrenamiento.
En la figura 7 se muestra un árbol de decisión que clasifica el tamaño del proyecto (LOC) en
cinco intervalos, en función de los demás atributos disponibles. El atributo que más influye en
la clasificación es el de mayor pureza (1 - entropía) y aparece en el nodo raíz del árbol. En el
ejemplo se puede observar que el número de transacciones es la variable que produce la
mayor diferenciación en la clasificación.
)LJXUDÁrbol de decisión
Para realizar la validación del modelo inducido con los datos del conjunto de entrenamiento,
aplicamos la técnica de las PDWULFHV GH FRQIXVLyQ que muestran el tipo de las predicciones
correctas e incorrectas cuando se aplica el modelo sobre el conjunto de prueba (Figura 8). Las
predicciones correctas están representadas por las barras que aparecen sobre la diagonal,
mientras que el resto de las barras indican el tipo de error cometido (qué valor ha predicho el
modelo y cual es el valor verdadero). La altura de las barras es proporcional al peso de los
registros que representan. Hay que señalar que en caso del ejemplo que se está tratando los
resultados no son muy buenos debido a que se dispone de muy pocos datos, el conjunto de
entrenamiento lo componen 28 registros y el de prueba 14.
)LJXUDMatriz de confusión
Las WDEODV GH GHFLVLyQ son otra herramienta de clasificación mediante la cual se muestran
correlaciones entre pares de atributos a diferentes niveles. Los atributos continuos se separan
en intervalos discretos y se induce automáticamente la tabla mediante cálculos de
probabilidades a partir de los registros del conjunto de entrenamiento. En la tabla de decisión
del ejemplo propuesto (figura 9) aparecen dos niveles, el primero con los atributos NOC y
NTRSNSMKII cuyas celdas se descomponen en un segundo nivel en función de los valores
de los atributos INTPTMKII y UFPMKII. En cada celda se muestra, mediante colores
diferentes, la proporción de registros que tiene de cada una de las clases. Un buen
clasificador debería conseguir el mayor número posible de celdas de un solo color que
contendrían únicamente registros de una clase. En nuestro caso sólo se ha conseguido una
celda de este tipo, lo que indica que se necesitan mejores atributos o mayor número de
atributos para conseguir una mejor clasificación.
)LJXUDTabla de decisión
Otro método útil para conocer la importancia de los valores de un atributo específico para la
clasificación o la probabilidad de que un registro pertenezca a una clase cuando se conocen
pocos atributos de dicho registro es el FODVLILFDGRUGHHYLGHQFLDV que muestra la distribución
de registros por valores de los atributos (figura 10).
)LJXUDClasificador de evidencias
Los ejemplos anteriores se encuadran en la categoría de técnicas predictivas o supervisadas.
Otro grupo de técnicas son las no supervisadas o de descubrimiento del conocimiento, entre
las que se encuentra el análisis de asociación, que persigue el establecimiento de relaciones
entre registros individuales o grupos de registros de la bases de datos. Dos especializaciones
del análisis de asociación son reglas de asociación y el descubrimiento de patrones
secuenciales. Una regla de asociación tiene la forma 6L;HQWRQFHV<, donde:
- &XHUSRGHODUHJOD: X (LHS)
- &DEH]DGHODUHJOD: Y (RHS)
- )DFWRUGHFRQILDQ]DRSUHYLVLELOLGDG: grado en que la regla es verdad en relación
con los registros individuales.
- )DFWRUGHVRSRUWHRSUHYDOHQFLD: relación entre el número de veces que tiene lugar
la regla y el número total de transacciones.
- 3UHYLVLELOLGDGHVSHUDGD: número de veces que ocurre Y.
En la figura 11 se muestra la visualización de los conceptos anteriores relativos a las reglas de
asociación que relacionan los atributos de los proyectos que se están estudiando .
)LJXUDVisualización de reglas de asociación
/DYLVXDOL]DFLyQ es una de las técnicas más potentes para identificar patrones ocultos en los
datos. Con estas técnicas se pueden detectar fenómenos que ocurren en los datos mediante
representaciones n-dimensionales de datos sobre pantallas bidimensionales. En la figura 12
podemos observar un gráfico de dispersión en el que sobre los ejes del gráfico aparecen
representados los valores de los dos atributos más influyentes del ejemplo, utilizando el color
para representar el tamaño del proyecto. En este ejemplo se puede distinguir las
combinaciones de valores de atributos que dan lugar a diferentes tamaños de proyectos
)LJXUDGráfico de dispersión
&RQFOXVLRQHV
En el apartado anterior se han ofrecido únicamente unos pocos ejemplos del uso de técnicas
de minería de datos en la construcción de modelos predictivos y asociativos con datos
procedentes de mediciones realizadas en el ámbito de la especificación de requisitos, no
obstante las posibilidades que ofrece este nuevo enfoque de tratamiento de datos son mucho
mayores, ya que el número de técnicas que engloba es mucho más amplio. Por otra parte, los
métodos de minería de datos llevan asociados una serie de mecanismos (estimación de
errores, matrices de confusión, matrices de pérdida, curvas de esfuerzo y aprendizaje, análisis
sensitivo de entradas...) que permiten realizar una mejor validación empírica de los modelos y
un análisis de resultados más completo y fiable que el que ofrece el enfoque clásico.
%LEOLRJUDItD
[Albrech, 1979] Albrecht, A.J., 0HDVXULQJ DSSOLFDWLRQ GHYHORSPHQW, Proc. of IBM
Applications DevelopmentJoint SHARE/GUIDE Symposium, Monterey, CA, pp 83-92,
1979.
[Arthur y Stevens, 1989] Arthur, J.D. y Stevens, K.T. , $VVHVVLQJ WKH DGHTXDF\ RI
GRFXPHQWDWLRQ WKURXJK GRFXPHQW TXDOLW\ LQGLFDWRUV, Proceedings of the IEEE
Conference of Software Maintenance, pp. 40-49, 1989.
[Binder, 1994] Binder, R., 7HVWLQJ2EMHFW2ULHQWHG 6\VWHPV, American Programmer, 7(4),
22-29, 1994.
[Boehm et al., 1978] Boehm, B.W., Kaspar, J.R. y otros &KDUDFWHULVWLFV RI 6RIWZDUH
4XDOLW\, TRW Series of Software Technology, 1978.
[Briand et al., 1999] Briand, L.C., Daly, J.W. y Wüst, J.K. $XQLILHGIUDPHZRUNIRUFRXSOLQJ
PHDVXUHPHQWLQREMHFWRULHQWHGV\VWHP, IEEE Transaction on Software Engineering, 25
(1), 1999.
[Brykczynskki, 1999] Brykczynskki, B., $ VXUYH\ RI VRIWZDUH LQVSHFWLRQ FKHFNOLVW, ACM
Software Engineering Notes, 24(1), pp 82-89, 1999.
[Cabena et al., 1998] Cabena, P., Hadjinian, P., Stadler, R., Verhees, J. Y Zanasi, A.
'LVFRYHULQJ'DWD0LQLQJ)URP&RQFHSWWR,PSOHPHQWDWLRQ, Prentice Hall, 1998.
[Chidamber y Kemerer, 1994] Chidamber, S.R. y Kemerer, C.F., $0HWULFV6XLWHIRU2EMHFW
2ULHQWHG'HVLJQ , IEEE Transactions of Software Engineering, 20(6), 476-493, 1994.
[Churcher y Shepperd, 1995] Churcher, N.I. and Shepperd, M.J., 7RZDUGV &RQFHSWXDO
)UDPHZRUNIRU2EMHFW2ULHQWHG0HWULFV, ACM Software Engineering Notes, 20 (2), 67-
76, 1995.
[Davis, A. et al., 1993] Davis, A. et al., ,GHQWLI\LQJ DQG 0HDVXULQJ 4XDOLW\ LQ D 6RIWZDUH
5HTXLUHPHQWV 6SHFLILFDWLRQ Proceedings of the First International Software Metrics
Symposium, Baltimore, May 21-22, pp. 141-152, 1993.
[DeMarco, 1982] DeMarco, T., &RQWUROOLQJ6RIWZDUH3URMHFWV, Yourdon Press, 1982.
[Dolado, 2000] Dolado, J.J. A 9DOLGDWLRQRIWKH&RPSRQHQW%DVHG0HWKRGIRU6RIWZDUH6L]H
(VWLPDWLRQ; IEEE Transactions on Software Engineering 26(10), pp. 1006-1021, 2000.
[Farbey, 1990] Farbey, B., Software Quality metrics: considerations about requirements and
requirements specification, Information and Software Technology, 32 (1), pp 60-64,
1990.
[French et al., 1997] French, J.C., Knight, J.C. y Powell, A.L., $SSO\LQJKLSHUWH[WVWUXFWXUHV
WRVRIWZDUH GRFXPHQWDWLRQ´,QIRUPDWLRQ3URFHVVLQJDQG0DQDJHPHQW, 33 (2), pp 219-
231, 1997.
[Genero et al., 1999] Genero, M., Manso, M.E., Piattini, M. y García F.J. $VVHVVLQJ WKH
TXDOLW\ DQG WKH &RPSOH[LW\ RI 207 0RGHOV 2nd European Software Measurements
Conference-FESMA 99, Amsterdam, Netherlands, pp 99-109, 1999.
[Genero et al., 2000] Genero, M., Piattini, M. y Calero, C. 8QD SURSXHVWD SDUD PHGLU OD
FDOLGDG GH ORV GLDJUDPDV GH FODVHV HQ 80/, IDEAS´2000, Cancun, México, pp 373-
384, 2000.
[Khoshgoftaar et al., 1997] Khoshgoftaar, T.M., Allen, E.B., Hudepohl, J.P. y Aud, S.J.
1HXUDO1HWZRUNV IRU 6RIWZDUH 4XDOLW\0RGHOLQJ RID 9HU\/DUJH 7HOHFRPPXQLFDWLRQV
6\VWHP. IEEE Trans.On Neural Networks, (8)4, pp. 902-909, 1997.
[Khoshgoftaar y Allen, 1999] Khoshgoftaar, T.M. y Allen, E.B. 0RGHOLQJ 6RIWZDUH4XDOLW\
ZLWK &ODVVLILFDWLRQ 7UHHV.In 5HFHQW $GYDQFHV LQ 5HOLDELOLW\ DQG 4XDOLW\ (QJLQHHULQJ,
Hoang Pham Editor.World Scientific, Singapore,1999.
[Khoshgoftaar y Lanning, 1995] Khoshgoftaar, T.M.y Lanning, D.L. $ 1HXUDO 1HWZRUN
$SSURDFKIRU(DUO\'HWHFWLRQRI3URJUDP0RGXOHV+DYLQJ+LJK5LVNLQWKH0DLQWHQDQFH
3KDVH J.Systems Software,29(1), pp. 85-91,1995.
[Krohn y Boldyreff, 1999] Krohn, U. y Boldyreff, C. $SSOLFDWLRQRI&OXVWHU $OJRULWKPV IRU
%DWFKLQJ RI 3URSRVHG 6RIWZDUH &KDQJHV. J.Softw.Maint:Res.Pract. 11, pp. 151-165.
1999.
[Lehner, 1993] Lehner, F., 4XDOLW\FRQWUROLQVRIWZDUHGRFXPHQWDWLRQ0HDVXUHPHQWRIWH[W
FRPSUHKHQVLELOLW\, Information and Management, 25, pp 133-146, 1993.
[Lorenz y Kidd, 1994] Lorenz, M. and Kidd, J., Object_oriented Software Metrics, Prentice
Hall 1994.
[Mendonça y Basili, 2000] Mendonça, M.G. y Basili, V.R. 9DOLGDWLRQ RI DQ $SSURDFK IRU
,PSURYLQJ ([LVWLQJ 0HDVXUHPHQW )UDPHZRUNV; IEEE Transactions on Software
Engineering 26(6), pp. 484-499, 2000.
[Mendonça y Sunderhaft, 1999] Mendonça, M.G. y Sunderhaft, N.L. 0LQLQJ 6RIWZDUH
(QJLQHHULQJ 'DWD $ 6XUYH\, Technical Report, DoD Data and Analysis Center for
Software, DACS-SOAR-99-3, 1999.
[Moreno et al., 2001] Moreno, M.N., García, F.J., Polo, M.J., López, V. y González, A.
0DUFR GH 5HIHUHQFLD SDUD OD *HVWLyQ GH OD &DOLGDG GH ODV (VSHFLILFDFLRQHV GH
5HTXLVLWRV, QUATIC2001, Lisboa, Portugal, 2001.
[Podgurski et al., 1999] Podgurski, A., Masri, W., McCleese Y. y Wolff, F.G. (VWLPDWLRQRI
6RIWZDUH5HOLDELOLW\ E\6WUDWLILHG6DPSOLQJ .ACM Trans.on Soft.Eng.and Methodology,
(8)3, pp.263-283, 1999.
[Poels, 1998] Poels, G., 7RZDUGV D VL]H PHDVXUHPHQW IUDPHZRUN IRU REMHFWRULHQWHG
HVSHFLILFDWLRQV. H. Coombes, M. Hooft van Huysduynen, and B. Peeters (eds.),
Proceedings of the 1st European Software Measurement Conference (FESMA'98),
Antwerp, pp. 379-388, 1998.
[Poels, 2000] Poels, G., 2Q WKH PHDVXUHPHQWV RI HYHQWEDVHG REMHFWRULHQWHG FRQFHSWXDO
PRGHOV. 4th International ECOOP Workshop on Quantitative Approaches in Object
Oriented Software Engineering, Cannes, France, 2000.
[Porter y Selby, 1990] Porter, A.A. y Selby, R.W. (PSLULFDOO\ *XLGHG 6RIWZDUH
'HYHORSPHQW8VLQJ0HWULF%DVHG&ODVVLILFDWLRQ 7UHHV. IEEE Software,7(2), pp.46-54,
1990.
[Roth et al. 1994] Roth, T., Aiken, P. y Hobbs, S., +\SHUPHGLD VXSSRUW IRU VRIWZDUH
GHYHORSPHPWDUHWURVSHFWLYHDVVHVVPHQW, Hypermedia, 6 (3), pp 149-173, 1994.
[Samson et al. 1990] Samson, W.B., Nevill, D.G. Y Dugard, P.I., Predictive software metrics
based on a formal specification, Software Engineering Journal, 5(1), 1990.
[Srinivasan y Fisher, 1995] Srinivasan, K. y Fisher, D. 0DFKLQH /HDUQLQJ $SSURDFKHV WR
(VWLPDWLQJ6RIWZDUH 'HYHORSPHQW(IIRUW. IEEE Trans.on Soft.Eng., 21(2), pp.126-137,
1995.
[Symons, 1991] Symons, C.R. 6RIWZDUH6L]LQJDQG(VWLPDWLQJ0.,,)3$. John Wiley and
Sons, 1991.
[Tian y Palma, 1998] Tian, J. y Palma J. $QDO\]LQJDQG,PSURYLQJ5HOLDELOLW\$7UHHEDVHG
$SSURDFK .IEEE Software, pp. 97-104,15(2), 1998.
[Verner yTate, 1992] Verner, J. and Tate, G., A Software Size Model, IEEE Transaction of
Software Engineering, 18 (4), pp. 265-278, 1992.
[Weiss y Indurkhya, 1998] Weiss, S.M. y Indurkhya, N. 3UHGLFWLYH'DWD0LQLQJ. $3UDFWLFDO
*XLGH, Morgan Kaufmann Publishers, San Francisco, 1998.
... Data mining consists of obtaining: 1) dependency analysis 2) identification of classes, 3) description of concepts, and 4) detection of deviations, extreme cases, or anomalies [13]. Supervised and unsupervised techniques are used to perform data mining [10,[13][14][15][16]. Among the supervised techniques are decision trees, neural induction, regression, and time series; and among the unsupervised techniques are deviation detection, segmentation, clustering, association techniques, and sequential patterns. ...
Article
Full-text available
Landslides caused by changes in land use, or by anthropic activities such as open-pit mining, constitute one of the most important socio-economic risk factors in countries with developing economies. This article presents an approach to the relationships between mining activity and the development of landslides in a pilot area located in Soacha, Cundinamarca. Through data mining analysis and the use of Geographic Information Systems (GIS), an evaluation of the possible relationships of these factors was carried out, including socioeconomic aspects. From an inventory of open-pit mining sites, the geomechanical characterization of soil and rock units, and the characterization of environmental and social variables, data were obtained to define variables whose relationships were determined by algorithms programmed in the GIS. The results show that there is an indirect relationship between open-pit mining activity and landslide development over the last four decades in the studied zone.
... Las tareas predictivas (o supervisadas) se orientan a predecir los valores de salida de una variable objetivo o dependiente, para especificar el modelado de los datos se debe tener un conocimiento teórico previo. La predicción de la variable objetivo o dependiente se realiza a partir de un conjunto de variables predictoras o independientes, es decir que induce una relación entre un atributo de interés y las otras variables (Moreno, 2001). A continuación se describen a cada una de ellas  Clasificación. ...
Thesis
Full-text available
Uno de los principales problemas que enfrentan las universidades públicas Argentinas, es la deserción estudiantil. El abandono antes de concluir los estudios atraviesa a más del 50% de los alumnos universitarios. La Universidad Nacional de Salta (UNSa) no es ajena a esta situación, alrededor del 60% de los alumnos que ingresan, abandonan sus estudios. Las múltiples causas que inciden sobre la mencionada problemática, tornan difícil la implementación de políticas eficientes tendientes a disminuir los índices actuales. En este trabajo de tesis, se propone analizar la problemática de la deserción en las carreras de la Facultad de Ciencias Exactas de la Universidad Nacional de Salta, a través de la aplicación de distintas técnicas del Data Mining para obtener modelos predictivos que permitan identificar, con antelación, a los estudiantes con mayor riesgo de deserción y los factores que inciden en el abandono. La documentación resultante de esta investigación constituirá un aporte que oriente, a las autoridades de la Facultad, a la toma de decisiones en relación a la problemática de la deserción. Los datos analizados corresponden a los alumnos ingresantes a la Facultad en el año 2015. La principal fuente de datos la constituyen los registros históricos correspondientes al periodo académico del año 2015 y su trayectoria hasta el año 2017, proporcionado por el Centro de Cómputos y por la Dirección de Estadísticas de la Universidad. Se aplicaron técnicas de agrupamiento jerárquico ascendente aglomerativo y no jerárquico, con el objetivo de describir los datos usados. Además se utilizó el método de regresión logística binaria para predecir la probabilidad de la continuidad o no en los estudios de los estudiantes y la técnica de árboles de decisión, del tipo de clasificación, para obtener un modelo que permita predecir los factores que propician la deserción de los estudiantes, basado en los datos disponibles. Todas las técnicas se implementaron con el lenguaje de programación R. Los resultados de los algoritmos han permitido caracterizar los diferentes grupos de estudiantes, definir perfiles de alumnos que abandonan sus estudios, predecir los factores que inciden en la deserción y que permiten predecir si un estudiante abandonará sus estudios. La capacidad predictiva de los modelos obtenidos superó el 70%.
... Los algoritmos supervisados o predictivos predicen el valor de un atributo (clase) de un conjunto de datos, conocidos otros atributos (rasgos). A partir de datos cuya clase se conoce, por tanto, se induce una relación entre dicha clase y los rasgos, el cual se desarrolla en dos fases: Entrenamiento (construcción de un modelo usando un subconjunto de datos con clase conocida) y prueba (prueba del modelo sobre el resto de los datos) [8]. Existen diferentes tipos de algoritmos de aprendizaje automático. ...
Conference Paper
Full-text available
El cultivo y producción del tabaco (nicotiana tabacum), especialmente en los países tropicales, es altamente dependiente de los plaguicidas. No obstante, la aplicación de plaguicidas a menudo no es eficaz y es peligrosa para los seres humanos y el medio ambiente. Por otra parte, es bien conocido que algunos metabolitos secundarios juegan un papel esencial en la protección de plantas contra patógenos. Sin embargo, establecer la relación entre la producción de metabolitos secundarios y los rasgos fenotípicos requiere una amplia experimentación y el seguimiento de la información manual. Además, desde el perfil fenotípico de una planta determinada podemos derivar la producción de determinados productos naturales, pero es imposible deducir el perfil fenotípico de las plantas en función de sus productos naturales. Por esta razón, el objetivo de esta investigación es diseñar un método basado en técnicas de aprendizaje automático, entrenado con los rasgos fenotípicos (morfología del tricomas) de las plantas, que sea capaz de aprender la correlación existente entre los rasgos fenotípicos y los metabolitos secundarios de las plantas de nicotiana tabacum. La búsqueda de la relación de los metabolitos con el nivel de expresión de un rasgo dado es un problema de regresión. Por lo que fueron empleados un grupo de técnicas de regresión basadas en estadígrafos tradicionales y técnicas de aprendizaje automático. Como resultado de la experimentación realizada, se determinó que el empleo de un árbol de regresión REPTree permite determinar los rasgos que mejor correlacionan con el metabolito estudiado. Además, como valor agregado, es capaz de devolver un conjunto de reglas simples que describen este proceso.
... Este tipo de análisis en el área de urbanismo concretamente con la cantidad de imágenes digitalizadas, fotografías áreas, planos, información del catastro, etc. puede ser de utilidad, tanto por la aplicación de reglas de búsqueda, como el conocimiento extraído para la toma de decisiones de los profesionales que necesitan de esta documentación en sus actividades diarias. En el trabajo que se presenta, el equipo investigador ha seleccionado como herramienta de trabajo para la aplicación de la minería de datos y minería web, técnicas no supervisadas de reglas de asociación (Moreno et al., 2005), que permiten búsquedas rápida de documentación (preferentemente documentos gráficos) en bases de datos de la administración pública (ayuntamientos, bibliotecas, catastro, consejerías, etc.) con un histórico documental excesivamente grande. ...
... Las técnicas de minería de datos pueden clasificarse de acuerdo con los dos grandes grupos de minería de datos, como se observa en la Tabla 1 (Moreno et al., 2001). ...
Article
Full-text available
Information is a key element of organizational processes. In recent years, the technology has had an accelerated growth, in line with the increase of what are regarded as useful and necessary tools to facilitate and expedite those processes giving an added value to productivity. Business intelligence has been defined as the transforming of data into knowledge, providing decision-making support at the strategic and tactical level where and when appropriate, providing a competitive advantage and increasing the effectiveness. One of the tools that has become useful for the exploration of data is On-line Analytical Processing (OLAP), which allows to obtain outstanding data among quantities of information, but it is faulty for the analysis of geographical data, for which SOLAP has arisen, which offers methods of special treatment for space data. Data mining has been adapted within companies, with the purpose of carrying out exploration and analysis of data focused on the discovery of knowledge. Because of the important place that space information is occupying nowadays, the spatial data mining has arisen. This process allows us to discover useful and unexpected patterns inside the data. The techniques of spatial data mining are applied to extract knowledge, starting from large volumes of data, which can be of space and non-space types. Among them are generalization, grouping, and space association.
... Los errores introducidos en las primeras etapas del desarrollo de software o durante su evolución, son causa frecuente de dificultades en el mantenimiento, baja reutilización y comportamiento defectuoso de los programas. Además, las malas estimaciones realizadas al comienzo del proyecto tienen consecuencias desastrosas en cuanto a costos y plazos de entrega (Garcia et al., 2001). Las métricas de software son la clave para la gestión de la calidad en el software. ...
Article
A general view of quality and reliability as the difference between what is expected and what is experienced is expanded on with respect to the requirement specification stages of software development. The dual nature of software requirements specifications, as solution to the problem of what the final software will be and do, and as a starting point for further system development, is formulated. This distinction is used to structure the types of metric that will be required. A distinction is drawn between those requirements that can be formalized, using for example a formal development method such as VDM, and those that cannot, either because they have inherently informal expectations or because they are not articulated. For the formalized requirements, metrics based on classical measurement theory are recommended. Where the requirements are informal, a comprehensive checklist procedure is suggested.
Article
A bottom-up approach to software size estimation is described. It first identifies factors affecting software size, thus obtaining size explanation equations, and then seeks suitable predictors based on those explanation factors which can be used for size estimation. The approach, or model, is bottom-up in that it sizes individual software components or modules first, and then obtains subsystem and system sizes by summing component sizes. Since components may have different purposes and characteristics, the model allows for the partitioning of system components into several different types, each component type having different size explanation and estimation equations. The partitioning is not fixed, but depends on the particular software development technology. The model is applied to several different software systems, including both business applications and systems programs
  • R Binder
[Binder, 1994] Binder, R., " 7HVWLQJJ2EMHFW2ULHQWHGG6\VWHPV ", American Programmer, 7(4), 22-29, 1994.
  • Genero
[Genero et al., 2000] Genero, M., Piattini, M. y Calero, C. " 8QDD SURSXHVWDD SDUDD PHGLUU ODD FDOLGDGG GHH ORVV GLDJUDPDVV GHH FODVHVV HQQ 80/ ", IDEAS´2000, Cancun, México, pp 373- 384, 2000. [Khoshgoftaar et al., 1997] Khoshgoftaar, T.M., Allen, E.B., Hudepohl, J.P. y Aud, S.J. " 1HXUDOO 1HWZRUNVV IRUU 6RIWZDUHH4XDOLW\\0RGHOLQJJRIID9HU\\/DUJHH7HOHFRPPXQLFDWLRQVV 6\VWHP ". IEEE Trans.On Neural Networks, (8)4, pp. 902-909, 1997. [Khoshgoftaar y Allen, 1999] Khoshgoftaar, T.M. y Allen, E.B. " 0RGHOLQJ 6RIWZDUHH4XDOLW\\ ZLWKK &ODVVLILFDWLRQQ 7UHHV ".In 5HFHQWW $GYDQFHVV LQQ 5HOLDELOLW\\ DQGG 4XDOLW\\ (QJLQHHULQJ, Hoang Pham Editor.World Scientific, Singapore,1999. [Khoshgoftaar y Lanning, 1995] Khoshgoftaar, T.M.y Lanning, D.L. " $$ 1HXUDOO 1HWZRUNN $SSURDFKKIRUU(DUO\\'HWHFWLRQQRII3URJUDP0RGXOHVV+DYLQJJ+LJKK5LVNNLQQWKHH0DLQWHQDQFHH 3KDVH " J.Systems Software,29(1), pp. 85-91,1995.
  • Briand
[Briand et al., 1999] Briand, L.C., Daly, J.W. y Wüst, J.K. " $$XQLILHGGIUDPHZRUNNIRUUFRXSOLQJJ PHDVXUHPHQWWLQQREMHFWRULHQWHGGV\VWHP ", IEEE Transaction on Software Engineering, 25 (1), 1999.
  • A Davis
[Davis, A. et al., 1993] Davis, A. et al., ",GHQWLI\LQJJ DQGG 0HDVXULQJJ 4XDOLW\\ LQQ DD 6RIWZDUHH 5HTXLUHPHQWVV 6SHFLILFDWLRQ " Proceedings of the First International Software Metrics Symposium, Baltimore, May 21-22, pp. 141-152, 1993. [DeMarco, 1982] DeMarco, T., " &RQWUROOLQJJ6RIWZDUHH3URMHFWV ", Yourdon Press, 1982. [Dolado, 2000] Dolado, J.J. " A 9DOLGDWLRQQRIIWKHH&RPSRQHQW%DVHGG0HWKRGGIRUU6RIWZDUHH6L]HH (VWLPDWLRQ " ; IEEE Transactions on Software Engineering 26(10), pp. 1006-1021, 2000.
(VWLPDWLRQQRII 6RIWZDUHH5HOLDELOLW\\E\\6WUDWLILHGG6DPSOLQJ
  • Podgurski
[Podgurski et al., 1999] Podgurski, A., Masri, W., McCleese Y. y Wolff, F.G. " (VWLPDWLRQQRII 6RIWZDUHH5HOLDELOLW\\E\\6WUDWLILHGG6DPSOLQJ ".ACM Trans.on Soft.Eng.and Methodology, (8)3, pp.263-283, 1999.