Efectividad de t´ecnicas de prueba de software aplicadas por sujetos novicios de pregrado Omar S. G´omez
Ra´ul A. Aguilar
Juan P. Uc´an
Facultad de Matem´aticas Facultad de Matem´aticas Prometeo Senescyt - E.S. Polit´ecnica de Chimborazo Universidad Aut´onoma de Yucat´an Universidad Aut´onoma de Yucat´an Riobamba, Chimborazo, Ecuador; M´erida, Yucat´an, M´exico M´erida, Yucat´an, M´exico Universidad Aut´onoma de Yucat´an Email:
[email protected] Email:
[email protected] M´erida, M´exico,
[email protected]
Resumen—El objetivo de este trabajo se centra en investigar los efectos que conlleva realizar experimentos en ingenier´ıa de software (IS) empleando como sujetos experimentales a estu˜ de estudios de diantes de pregrado cursando su primer ano la carrera en ingenier´ıa de software. De manera particular en este trabajo se investiga la efectividad medida en porcentaje de defectos observados y observables de las t´ecnicas de prueba de software funcional (caja negra) y estructural (caja blanca). Con respecto a los defectos observados por los sujetos, ambas t´ecnicas obtuvieron una efectividad del 4 %. Con respecto a los defectos observables por los casos de prueba, la t´ecnica funcional es ligeramente superior (21 %) que la t´ecnica estructural (16 %), aunque esta diferencia no es significativa. Se observa un nivel de inexperiencia considerable en los sujetos para aplicar las t´ecnicas. Dado los hallazgos encontrados, se sugiere emplear sujetos de pregrado con un nivel mayor de experiencia.
I.
´ I NTRODUCCI ON
La detecci´on de defectos es una actividad cr´ıtica en la construcci´on de sistemas software. En general, la comunidad en ingenier´ıa de software acepta que la detecci´on de defectos debiera llevarse a cabo tanto con t´ecnicas de inspecci´on basadas en lectura de c´odigos as´ı como por t´ecnicas de prueba din´amicas como son las t´ecnicas funcional y estructural, conocidas tambi´en como t´ecnicas caja negra y caja blanca, respectivamente [1]. El trabajo aqu´ı reportado es una extensi´on de trabajos previos [2], [3], [4], [5] en donde se ha investigado, entre otros aspectos, la efectividad de varias t´ecnicas de prueba de software. A diferencia de estos trabajos previos, en esta investigaci´on se busca analizar la efectividad de las t´ecnicas de caja negra y caja blanca aplicadas por sujetos novicios de pregrado, con el fin de realizar recomendaciones sobre el uso de este tipo de sujetos en experimentos controlados en ingenier´ıa de software. El resto de este documento se estructura de la siguiente manera: en la secci´on II se describen las dos t´ecnicas de prueba estudiadas. En la secci´on III se presenta el contexto del experimento. En la secci´on IV se describe el an´alisis estad´ıstico. Por u´ ltimo, en la secci´on V se presenta la discusi´on y conclusiones. II. II-A.
T E´ CNICAS DE PRUEBA DE SOFTWARE
T´ecnica funcional o caja negra
Tambi´en conocida como prueba de comportamiento, este tipo de t´ecnica se basa en la especificaci´on del programa o
componente a ser probado para elaborar los casos de prueba. El componente se ve como una “caja negra” cuyo comportamiento s´olo puede ser determinado estudiando sus entradas y las salidas obtenidas a partir de ellas. No obstante, como el estudio de todas las posibles entradas y salidas de un programa es impracticable se selecciona un conjunto de ellas sobre las que se realizan las pruebas. Para seleccionar el conjunto de entradas y salidas sobre las que trabajar, hay que tener en cuenta que en todo programa existe un conjunto de entradas que causan un comportamiento err´oneo en el sistema, y como consecuencia producen una serie de salidas que revelan la presencia de defectos. Entonces, dado que la prueba exhaustiva es imposible, el objetivo final es encontrar una serie de datos de entrada cuya probabilidad de pertenecer al conjunto de entradas que causan dicho comportamiento err´oneo sea lo m´as alto posible [6], [7]. Para especificar los casos de prueba de caja negra existen distintos criterios, algunos de ellos son: Particiones de clase de equivalencia. Una clase de equivalencia representa un conjunto de estados v´alidos o no v´alidos para condiciones de entrada. T´ıpicamente una condici´on de entrada es un valor num´erico espec´ıfico, un rango de valores, un conjunto de valores relacionados o una condici´on l´ogica. An´alisis de Valores L´ımite. los errores tienden a darse m´as en los l´ımites del campo de entrada que en el centro. El an´alisis de valores l´ımite lleva a una elecci´on de casos de prueba que ejerciten dichos valores. El an´alisis de valores l´ımite (AVL) es una t´ecnica de dise˜no de casos de prueba que completa a la partici´on equivalente. En lugar de seleccionar cualquier elemento de una clase de equivalencia, el AVL lleva a la elecci´on de casos de prueba en los extremos de la clase. En lugar de centrarse solamente en las condiciones de entrada, el AVL obtiene casos de prueba tambi´en para el campo de salida. II-B.
T´ecnica estructural o caja blanca
A este tipo de t´ecnica se le conoce tambi´en como t´ecnica de caja transparente o de cristal. Esta t´ecnica se centra en c´omo dise˜nar los casos de prueba atendiendo al comportamiento interno y la estructura del programa. Se examina as´ı la l´ogica interna del programa sin considerar los aspectos de rendimiento.
El objetivo de la t´ecnica es dise˜nar casos de prueba para que se ejecuten, al menos una vez, todas las sentencias del programa, y todas las condiciones tanto en su vertiente verdadera como falsa [6], [7]. Como se ha indicado, puede ser impracticable realizar una prueba exhaustiva de todos los caminos de un programa. Por ello se han definido distintos criterios de cobertura l´ogica, que permiten decidir qu´e sentencias o caminos se deben examinar con los casos de prueba. Estos criterios son:
Cabe se˜nalar que el porcentaje de defectos observados puede ser distinto que el porcentaje de defectos observables. Por ejemplo, un sujeto quien especifica varios casos de prueba, que en conjunto revelan tres de seis posibles defectos, es capaz de observar s´olo un defecto de los tres revelados por sus casos de prueba. En este caso el porcentaje de defectos observados es de 17 %, mientras que el porcentaje de defectos observables es de 50 %. III-B.
Cobertura de sentencias. Se escriben casos de prueba suficientes para que cada sentencia en el programa se ejecute, al menos, una vez. Cobertura de decisi´on. Se escriben casos de prueba suficientes para que cada decisi´on en el programa se ejecute una vez con resultado verdadero y otra con el falso. Cobertura de condiciones. Se escriben casos de prueba suficientes para que cada condici´on en una decisi´on tenga una vez resultado verdadero y otra falso. ´ Cobertura de condici´on multiple. Se escriben casos de prueba suficientes para que todas las combinaciones posibles de resultados de cada condici´on se invoquen al menos una vez. Cobertura de caminos. Se escriben casos de prueba suficientes para que se ejecuten todos los caminos de un programa. Entendiendo camino como una secuencia de sentencias encadenadas desde la entrada del programa hasta su salida. III.
III-A.
Con el fin de estudiar posibles interacciones entre los efectos de la t´ecnica y del programa instrumentado, se emple´o un dise˜no factorial con dos factores y dos niveles. El primer factor representa la t´ecnica de prueba y contiene dos niveles correspondientes con cada tipo de t´ecnica: funcional y estructural. El segundo factor representa el programa instrumentado, en este caso se emplearon dos programas donde cada programa corresponde con un nivel de este segundo factor. En total se tienen cuatro posibles combinaciones entre los niveles de estos dos factores. Las combinaciones factor-nivel en el experimento son asignadas de forma aleatoria a las unidades experimentales, en este caso, los sujetos. Este tipo de dise˜no permite el estudio del efecto de cada factor (t´ecnica y programa) sobre la variable respuesta (efectividad), as´ı como el efecto de las interacciones entre factores sobre dicha variable (t´ecnica-programa). En la Tabla I se muestra la estructura de este dise˜no as´ı como las combinaciones que se asignaron de forma aleatoria a los sujetos. Tabla I.
C ONTEXTO DEL EXPERIMENTO
Tomando como referencia el proceso general de experimentaci´on en ingenier´ıa de software [8] a continuaci´on se detalla el experimento aqu´ı reportado. Definici´on
Las hip´otesis de trabajo para este experimento se definen de la siguiente manera: Existe al menos una t´ecnica de prueba de software (t´ecnica funcional por particionamiento de clases de equivalencia [PCE], o estructural por cobertura de decisiones [Cob. Dec.]) tal que e´ sta difiere del resto con respecto a su efectividad. H0 : efectividad en P CE = Cob.Dec. H1 : efectividad en P CE 6= Cob.Dec. En este contexto, la efectividad es medida con dos m´etricas: defectos observados por los sujetos y defectos observables por los casos de prueba especificados por los sujetos. Los defectos observados indican el porcentaje de defectos que el sujeto es capaz de observar tras aplicar alguna de las t´ecnicas de prueba de software. Por otra parte, los defectos observables indican el porcentaje de defectos que son revelados por los casos de prueba especificados por los sujetos.
Dise˜no
III-C.
˜ FACTORIAL EMPLEADO . D ISE NO
Programa/T´ecnica
Funcional
Estructural
cmdline
funcional, cmdline
estructural, cmdline
ntree
funcional, ntree
estructural, ntree
Ejecuci´on
El experimento aqu´ı reportado se realiz´o a inicios de marzo de 2013 en la asignatura de programaci´on. Esta asignatura se imparte en el segundo semestre de la Licenciatura en Ingenier´ıa de Software de la Facultad de Matem´aticas de la Universidad Aut´onoma de Yucat´an (FMat-UADY). Los alumnos participantes como sujetos en este experimento cursaron durante el semestre anterior la asignatura de fundamentos de programaci´on. Semanas previas al experimento los alumnos inscritos al curso de programaci´on recibieron entrenamiento sobre el funcionamiento y aplicaci´on de las t´ecnicas de prueba de software. Una vez explicado el funcionamiento de las t´ecnicas, los sujetos aplicaron cada t´ecnica a un ejercicio de programaci´on instrumentado con algunos defectos. Ya finalizado el entrenamiento y en una sesi´on independiente se realiz´o el experimento. Se asign´o de manera aleatoria las cuatro combinaciones de tratamientos descritas en la Tabla I a los sujetos. En total participaron 31 sujetos. Los sujetos usaron una herramienta web para registrar informaci´on referente al dise˜no de sus casos de prueba y defectos observados de acuerdo a la t´ecnica y programa asignado.
Los programas instrumentados que se usaron en este experimento se escribieron en el lenguaje de programaci´on C. En cada programa se inyectaron seis defectos con el fin de evaluar la efectividad de las dos t´ecnicas de prueba. Los defectos se tomaron como referencia de la clasificaci´on propuesta en [9]. Cada programa tiene una longitud aproximada de 250 LOC. A continuaci´on se detalla de manera general el procedimiento de aplicaci´on de ambas t´ecnicas. Con respecto a la aplicaci´on de la prueba funcional, el sujeto recibe la especificaci´on del programa instrumentado sin tener acceso al c´odigo fuente. Con la especificaci´on el sujeto define clases de equivalencia v´alidas y no v´alidas. A continuaci´on se construyen casos de prueba usando como referencia las clases de equivalencia. Una vez especificados los casos de prueba el sujeto tiene acceso de ejecuci´on al programa instrumentado y ejecuta sus casos de prueba. Esta actividad concluye cuando el sujeto registra las salidas observadas de los casos de prueba ejecutados. La siguiente actividad consiste en volver a revisar la especificaci´on con el fin de identificar posibles defectos revelados en las salidas de los casos de prueba especificados. La aplicaci´on de esta t´ecnica concluye una vez que el sujeto registra los defectos observados. Con respecto a las pruebas estructurales, el sujeto recibe el c´odigo fuente impreso pero no la especificaci´on. A partir del c´odigo fuente el sujeto construye casos de prueba intentando cubrir el 100 % de las ramificaciones de flujo que pudiera alcanzar el c´odigo del programa. Una vez especificados los casos de prueba el sujeto usa una versi´on instrumentada del programa para ejecutar sus casos de prueba. Despu´es de ejecutar los casos de prueba, el sujeto registra las salidas observadas. Posteriormente el sujeto accede a la especificaci´on del programa con el fin de identificar posibles defectos en las salidas observadas. La aplicaci´on de esta t´ecnica finaliza con el registro de los defectos observados. IV.
´ A N ALISIS
La ecuaci´on (1) describe el modelo estad´ıstico empleado dado el dise˜no factorial descrito en la secci´on III. yijk = µ + αi + βj + (αβ)ij + ijk
(1)
Donde µ es el promedio general, αi representa el efecto de la t´ecnica i, βj representa el efecto del programa j, (αβ)ij es el efecto de la interacci´on entre los tratamientos i y j, k representa las r´eplicas en cada combinaci´on de tratamientos, y es el error aleatorio que asume una distribuci´on normal de promedio 0 y varianza σ 2 . Este modelo emplea el an´alisis de varianza (ANOVA) para evaluar los diferentes componentes del modelo descrito como son: los tratamientos, sus interacciones as´ı como el error aleatorio [10], [11]. El ANOVA proporciona una prueba estad´ıstica para determinar si los promedios de varios grupos de datos son todos iguales. La hip´otesis nula asume que todos los grupos son simplemente muestras aleatorias de la misma poblaci´on. Este supuesto implica que todos los tratamientos tienen el mismo efecto (quiz´as ninguno). Rechazar la hip´otesis nula implica que los distintos tratamientos producen un efecto diferente. Antes de obtener cualquier conclusi´on sobre el modelo estad´ıstico se deben evaluar los siguientes supuestos: 1) las
observaciones, en este caso las m´etricas recabadas sean independientes (independencia); 2) la varianza sea la misma para todas las observaciones (homocedasticidad); las observaciones en cada grupo de tratamientos tengan una distribuci´on normal (normalidad). El primer supuesto se cumple por el principio de aleatoriedad usado en este dise˜no experimental, donde todas las mediciones de una muestra no est´an relacionadas con aquellas pertenecientes a otra muestra. Los otros dos supuestos se eval´uan a trav´es de los residuos estimados (i.e. error aleatorio, ijk ) [12], [11]. El supuesto de homocedasticidad puede evaluarse a trav´es de la prueba estad´ıstica de Levene [13] donde un valor p significativo indica desigualdad de varianzas por lo que el supuesto de homocedasticidad es violado. Por otra parte el supuesto de normalidad puede evaluarse con la prueba estad´ıstica de Kolmogorov-Smirnov [14], [15], donde un valor p significativo indica una diferencia entre la distribuci´on del estad´ıstico (en este caso los residuos estandarizados del conjunto de observaciones) y la distribuci´on poblacional (en este caso una distribuci´on normal). Esta diferencia significativa sugiere una violaci´on al supuesto de normalidad. IV-A.
An´alisis con respecto a defectos observados
En la Tabla II se presenta el ANOVA con respecto a los defectos observados por los sujetos tras aplicar las t´ecnicas. Tabla II.
ANOVA CON RESPECTO A DEFECTOS OBSERVADOS .
Component
Df
Sum Sq
Mean Sq
F value
p-value
t´ecnica programa t´ecnica:programa residuals
1 1 1 27
0.6 128.5 89.0 1431.3
0.60 128.49 88.97 53.01
0.011 2.424 1.678
0.916 0.131 0.206
Como se observa en en la Tabla II, los factores principales (t´ecnica y programa) as´ı como la interacci´on t´ecnica-programa no muestran diferencias significativas, es decir, ambas t´ecnicas muestran una efectividad similar. Con respecto al supuesto de normalidad, la prueba de Kolmogorov-Smirnov [14], [15] arroja un valor p = 0.04719 indicando falta de normalidad en los residuos estandarizados. Esta falta de normalidad se presenta debido a que la mayor´ıa de sujetos no observaron defectos en los programas. Referente al supuesto de homocedasticidad, la prueba de Levene [13] arroja un valor p = 0.2727 sugiriendo la aceptaci´on de la hip´otesis nula a favor de la igualdad de varianzas. En la Tabla III se muestran los an´alisis descriptivos de los factores principales t´ecnica y programa. Tabla III.
´ A N ALISIS DESCRIPTIVOS CON RESPECTO A DEFECTOS OBSERVADOS .
t´ecnica funcional t´ecnica estructural programa cmdline programa ntree
n
mean
sd
min
max
16 15 16 15
4.17 % 4.45 % 6.25 % 2.22 %
7.46 7.63 8.34 5.87
0% 0% 0% 0%
16.67 % 16.67 % 16.67 % 16.67 %
IV-B.
An´alisis con respecto a defectos observables
En la Tabla IV se presenta el ANOVA con respecto a los defectos observables por los casos de prueba especificados por los sujetos. Tabla IV.
ANOVA CON RESPECTO A DEFECTOS OBSERVABLES POR LOS CASOS DE PRUEBA .
Component
Df
Sum Sq
Mean Sq
F value
p-value
t´ecnica programa t´ecnica:programa residuals
1 1 1 27
216 2 389 7367
215.8 1.7 389.2 272.9
0.791 0.006 1.426
0.382 0.938 0.243
De acuerdo a los resultados de la Tabla IV, los factores principales (t´ecnica y programa) as´ı como la interacci´on t´ecnica-programa no muestran diferencias significativas, es decir, ambas t´ecnicas muestran una efectividad similar.
Con respecto a los defectos observables por los casos de prueba, se obtuvieron porcentajes mayores que los defectos observados. Por ejemplo, en el caso de la t´ecnica funcional, los casos dise˜nados por los sujetos en promedio revelaron el 21 % de los defectos mientras que para la t´ecnica estructural el 16 %. Los porcentajes de defectos observables arrojados en este experimento sugieren una falta de experiencia por parte de los sujetos para aplicar las t´ecnicas aqu´ı estudiadas. De manera general, los sujetos no fueron capaces de observar los defectos que revelaron sus casos de prueba. Se observa tambi´en que en el programa cmdline se identificaron el mayor n´umero de defectos. Los resultados aqu´ı reportados pueden servir como referente para que otros investigadores tengan en cuenta el nivel de experiencia de los sujetos al momento de realizar experimentos en esta disciplina. R EFERENCIAS
Con respecto al supuesto de normalidad, la prueba de Kolmogorov-Smirnov [14], [15] arroja un valor p = 0.5312 indicando la aceptaci´on de la hip´otesis nula a favor de la normalidad. Referente al supuesto de homocedasticidad, la prueba de Levene [13] arroja un valor p = 0.2562 sugiriendo la aceptaci´on de la hip´otesis nula a favor de la igualdad de varianzas.
[1]
En la Tabla V se muestran los an´alisis descriptivos de los factores principales t´ecnica y programa con respecto a esta m´etrica.
[4]
[2]
[3]
[5] Tabla V.
´ A N ALISIS DESCRIPTIVOS CON RESPECTO A DEFECTOS OBSERVABLES .
t´ecnica funcional t´ecnica estructural programa cmdline programa ntree
n
mean
sd
min
max
16 15 16 15
20.83 % 15.56 % 18.75 % 17.78 %
12.91 19.38 15.96 17.21
0% 0% 0% 0%
50 % 50 % 50 % 50 %
[6] [7] [8]
V.
´ Y CONCLUSIONES D ISCUSI ON
En la Tabla VI se muestran resultados de trabajos previos que han analizado la efectividad de las t´ecnicas aqu´ı estudiadas. La efectividad est´a representada como el porcentaje de defectos observados por los sujetos tras aplicar alguna de las t´ecnicas. Tabla VI.
D EFECTOS OBSERVADOS EN TRABAJOS PREVIOS .
Experimento Kamsties y Lott, 1994 [3] Kamsties y Lott, 1995 [3] Roper et al., 1997 [4] Juristo y Vegas, 2003 [5] Experimento aqu´ı reportado
T´ec. Funcional
T´ec. Estructural
51 % 62 % 55 % 62 % 4.2 %
52 % 56 % 57 % 58 % 4.5 %
[9] [10] [11]
[12]
[13]
[14]
[15]
Como se observa en la Tabla VI, los resultados aqu´ı reportados muestran un porcentaje inferior en la efectividad de las t´ecnicas. A diferencia del resto de trabajos previos, en este experimento se emplearon estudiantes de pregrado cursando su primer a˜no de la carrera, mientras que en los trabajos previos se emplearon estudiantes cursando su tercer y cuarto a˜no de la carrera.
S. McConnell, Code Complete, 2nd ed. Redmond, WA, USA: Microsoft Press, 2004. V. Basili and R. Selby, “Comparing the effectiveness of software testing strategies,” IEEE Trans. Softw. Eng., vol. 13, no. 12, pp. 1278–1296, 1987. E. Kamsties and C. M. Lott, “An empirical evaluation of three defectdetection techniques,” in Proceedings of the 5th European Software Engineering Conference. London, UK: Springer-Verlag, 1995, pp. 362–383. M. Roper, M. Wood, and J. Miller, “An empirical evaluation of defect detection techniques,” Information and Software Technology, vol. 39, no. 11, pp. 763–775, 1997. N. Juristo and S. Vegas, “Functional testing, structural testing and code reading: What fault type do they each detect?” in Empirical Methods and Studies in Software Engineering, ser. Lecture Notes in Computer Science, R. Conradi and A. Wang, Eds. Springer Berlin / Heidelberg, 2003, vol. 2765, pp. 208–232. B. Beizer, Software testing techniques (2nd ed.). New York, NY, USA: Van Nostrand Reinhold Co., 1990. G. J. Myers and C. Sandler, The Art of Software Testing. John Wiley & Sons, 2004. O. S. G´omez, J. P. Uc´an, and G. E. G´omez, “Aplicaci´on del proceso de experimentaci´on a la ingenier´ıa de software,” Abstraction & Application, vol. 8, pp. 26–37, 2013. V. Basili and B. Perricone, “Software errors and complexity: an empirical investigation,” Commun. ACM, vol. 27, no. 1, pp. 42–52, 1984. N. Juristo and A. M. Moreno, Basics of Software Engineering Experimentation. Kluwer Academic Publishers, 2001. R. Kuehl, Design of Experiments: Statistical Principles of Research Design and Analysis, 2nd ed. California, USA.: Duxbury Thomson Learning, 2000. G. E. P. Box, W. G. Hunter, J. S. Hunter, and W. G. Hunter, Statistics for Experimenters: An Introduction to Design, Data Analysis, and Model Building. John Wiley & Sons, June 1978. H. Levene, “Robust tests for equality of variances,” in Contributions to probability and statistics, I. Olkin, Ed. Palo Alto, CA: Stanford Univ. Press., 1960. A. N. Kolmogorov, “Sulla determinazione empirica di una legge di distribuzione,” Giornale dell’Istituto Italiano degli Attuari, vol. 4, pp. 83–91, 1933. N. V. Smirnov, “Table for estimating the goodness of fit of empirical distributions,” Ann. Math. Stat., vol. 19, pp. 279–281, 1948.
1
MEMORIA DEL ENCUENTRO NACIONAL DE CIENCIAS DE LA COMPUTACIÓN ___________________ ENC 2014 ___________________
3, 4 y 5 de Noviembre, 2014 NovaUniversitas, Ocotlán, Oaxaca, México
Instituciones Participantes: Universidad Autónoma de Baja California, UABC Instituto Tecnológico de Sonora, ITSON Instituto Tecnológico de Estudios Superiores de Monterrey, ITESM Sistema de Universidades Estatales de Oaxaca, SUNEO Centro Nacional de Investigación y Desarrollo Tecnológico, CENIDET Instituto Nacional de Astrofísica, Óptica y Electrónica, INAOE Centro de Investigación Científica y de Educación Superior de Ensenada, CICESE Centro Público de Innovación y Desarrollo Tecnológico, INFOTEC Universidad Tecnológica de la Mixteca, UTM
Asociaciones que apoyan: Sociedad Mexicana de Ciencias de la Computación Asociación Mexicana de Interacción Humano Computadora AC
Editada por: Dra. Marcela D. Rodríguez, Dr. Ana I. Martínez García y Dr. Juan Pablo García Vázquez
COMITÉS Miembros de la Mesa Directiva de SMCC Dra. Marcela Deyanira Rodriguez Urrea, UABC (Presidente) Dra. Ana Isabel Martínez García, CICESE (Vice-Presidente) Dra. Alicia Martínez Rebollar, CENIDET (Secretario) Dr. Juan Pablo García Vázquez, UABC (Tesorero) Dr. Hugo Estrada Esquivel, INFOTEC/CENIDET (Vocal) Dr. Rolando Menchaca Méndez, CIC-IPN (Vocal) Dr. Luis Adrián Castro Quiroa, ITSON (Vocal) Dra. Mónica Elizabeth Tentori Espinosa, CICESE (Vocal) Dr. Antonio García Macías, CICESE (Vocal) Dr. José Martín Molina Espinosa, ITESM (Vocal) Dra. Angélica Muñoz, INAOE (Vocal)
Organizadores Locales Dr. Raúl Cruz Barbosa M.E.C. Josúe Neftalí García Matías M.C. Mario A Moreno Rocha
i
Organizadores de Eventos del ENC’2014 Organizador General Organizadores de Talleres
Dra. Marcela D. Rodríguez, UABC Dra. Ana I. Martínez García, CICESE Dra. Alicia Martínez Rebollar, CENIDET Dra. Ana I. Martínez García, CICESE Dra. Marcela D. Rodríguez, UABC Dra. Angélica Muñoz, INAOE Dra. Alicia Martínez Rebollar, CENIDET Dr. Oscar M. Rodríguez, ITH Dr. Reyes Juárez Ramírez, UABC Dr. Antonio García, CICESE Dr. Rolando Menchaca, CIC-IPN Dr. Carlos Brizuela, CICESE Dr. Ernesto Pérez Rueda, UNAM Dr. David Flores Peñaloza, UNAM Dr. Edgar Chávez, CICESE Dr. Gabriel López, UABC Dr. René Cruz Flores, UAEM Dr. Oscar Castillo, ITT Dra. Anabel Martínez, CITEDI Dr. Oscar Montiel, CITEDI Dr. Roberto Sepúlveda, CITEDI Dr. Ángel G. Andrade, UABC Dra. R. Carolina Medina Ramírez, UAM-I Dr. Francisco Edgar Castillo Barrera, UASLP Dra. M. Concepción Pérez de Celis Herrero, BUAP Dr. Omar Vital Ochoa, UASLP Dr. Ricardo Marcelín Jiménez, UAM-I Dr. Martin Molina Espinoza, ITESM Dr. Juan Pablo García Vázquez, UABC Dra. Marcela D. Rodríguez Urrea, UABC Dra. Angélica Muñoz, INAOE Dr. Antonio García Macías, CICESE M.C. Rafael Llamas, UPSLP
Taller de Computación Clínica e Informática Médica Taller de Investigación y Aplicación de la Ingeniería de Software WorkShop on Network Systems and Protocols (WNSP) Taller de Biocomputación Taller de Aspectos Algorítmicos de Sistemas Computacionales Taller de Tecnologías Emergentes en la Educación Taller de Aplicaciones del Computo Suave
Workshop on Semantic Web and Linked Open Data (SW-LOD)
Consorcio de Posgrado Comité de Pláticas Magistrales Tutoriales
ii
Invited Speakers (Ponentes Magistrales) Dr. Mandyam Srinivasan. Srinivasan's research focuses on the principles of visual processing, perception and cognition in simple natural systems, and on the application of these principles to machine vision and robotics. He holds an undergraduate degree in Electrical Engineering from Bangalore University, a Master's degree in Electronics from the Indian Institute of Science, a Ph.D. in Engineering and Applied Science from Yale University, a D.Sc. in Neuroethology from the Australian National University, and an Honorary Doctorate from the University of Zurich. Srinivasan is presently Professor of Visual Neuroscience at the Queensland Brain Institute and the School of Information Technology and Electrical Engineering of the University of Queensland. Among his awards are Fellowships of the Australian Academy of Science, of the Royal Society of London, and of the Academy of Sciences for the Developing World, the 2006 Australia Prime Minister’s Science Prize, the 2008 U.K. Rank Prize for Optoelectronics, the 2009 Distinguished Alumni Award of the Indian Institute of Science, the Membership of the Order of Australia (AM) in 2012, the Queensland Science Championship in 2014, and the Harold Spencer-Jones Gold Medal of the Royal Institute of Navigation in 2014. Keynote Title: "MORE THAN A HONEY MACHINE: Vision and Navigation in Honeybees and Applications to Robotics Flying insects are remarkably adept at seeing and perceiving the world and navigating effectively in it, despite possessing a brain that weighs less than a milligram and carries fewer than 0.01% as many neurons as ours does. Although most insects lack stereo vision, they use a number of ingenious strategies for perceiving their world in three dimensions and navigating successfully in it. The talk will describe how honeybees use their vision to stabilize and control their flight, and navigate to food sources. Bees and birds negotiate narrow gaps safely by balancing the apparent speeds of the images in the two eyes. Flight speed is regulated by holding constant the average image velocity as seen by both eyes. Visual cues based on motion are also used to compensate for crosswinds, and to avoid collisions with other flying insects. Bees landing on a surface hold constant the magnitude of the optic flow that they experience as they approach the surface, thus automatically ensuring that flight speed decreases to zero at touchdown. Foraging bees gauge distance flown by integrating optic flow: they possess a visually-driven ‘odometer’ that is robust to variations in wind, body weight, energy expenditure, and the properties of the visual environment. Mid-air collisions are avoided by sensing cues derived from visual parallax, and using appropriate flight control maneuvers. Some of the insect-based strategies described above are being used to design, implement and test biologically-inspired algorithms for the guidance of autonomous terrestrial and aerial vehicles. Application to manoeuvres such as attitude stabilization, terrain following, obstacle avoidance, automated landing, and the execution of extreme aerobatic manoeuvres will be described.
iii
Dr. Sergio Rajsbaum Estudió Ingeniería en Computación en la UNAM, y doctorado en Ciencias de la Computación en el Instituto Tecnológico de Israel-Technion. Realizó una estancia posdoctoral en el MIT, y una estancia sabática en los Laboratorios de Investigación de HP. Es actualmente investigador en el Instituto de Matemáticas de la UNAM. Pertenece al nivel III del Sistema Nacional de Investigadores. Su área principal de investigación es la teoría matemática de la computación, enfocada a sistemas distribuidos. Su objetivo es entender los problemas que pueden resolver las computadoras cuando trabajan en equipo, que tan eficientemente los pueden resolver, y cuantas fallas y que tan severas pueden tolerar. Los sistemas distribuidos abarcan desde computadoras interconectadas globalmente como a través de Internet o el Web, hasta sistemas diminutos donde varios procesadores trabajan en paralelo dentro de un teléfono móvil o una laptop con procesador multicore. Ha sido uno de los líderes en el desarrollo del área que explora una conexión esencial entre este campo moderno de la ciencias de la computación y una rama profunda de las matemáticas que estudia las propiedades geométricas de objetos elásticos. La colaboración de 20 años con Maurice Herlihy de la Universdad de Brown (y otros científicos de EUA, Francia e Israel) se describe en su reciente libro Distributed Computing through Topology (Elsevier). Ha publicado más de 100 artículos de investigación en computación distribuida, y en algoritmos, teoría de gráficas, y en proyectos aplicados de cómputo relacionados a votaciones electrónicas y sistemas de información, especialmente software para administración de contenidos y Web. Reconocido en la Gaceta de la UNAM como uno de los investigadores más citados de la UNAM en el 2012. Su interés por la docencia se refleja en su libro Conocimientos Fundamentales de Computación de la enciclopedia Conocimientos Fundamentales de la UNAM. Título de plática: "¿Son las computadoras todopoderosas?" Existen limitaciones inherentes a lo que se puede resolver mediante una computadora, limitaciones que son independientes de la tecnología del momento. También existen limitaciones inherentes a lo que un conjunto de computadoras pueden hacer trabajando en equipo, y sorprendentemente, estas limitaciones son de carácter muy diferente a las del cómputo secuencial. Veremos que el ser humano es un granito insignificante, no solo dentro de un universo físico inmensamente grande, sino también dentro de un universo de problemas, de los cuales la inmensa mayoría jamás podrá resolver.
iv
Preface Las diferentes ramas de la Computaci´ on no dejan de ser disciplinas en evoluci´ on que congregan a investigadores y practicantes en todo el mundo. La Sociedad Mexicana de Ciencias de la Computaci´ on (SMCC) tiene el prop´ osito de fomentar la colaboraci´ on entre la comunidad de investigadores mexicanos, promoviendo sus l´ıneas de investigaci´ on y dando a conocer sus contribuciones. Para lograr lo anterior, organiza el Encuentro Nacional de Ciencias de la Computaci´ on (ENC), tambi´en conocido en otras ediciones como Congreso Internacional de Ciencias de la Computaci´ on. As´ı, el ENC se distingue por ser el evento que anualmente organiza la SMCC, llev´ andose a cabo este a˜ no, del 3-6 de Noviembre y teniendo como sede a Nova Universitas, Universidad del sistema SUNEO, situada en Ocotl´ an de Morelos, Oaxaca. Con el objetivo de identificar e integrar a las comunidades cient´ıficas de distintas a ´reas de la Computaci´ on con presencia en M´exico, el ENC’2014 se organiz´ o como un conjunto de Talleres, Simposio de Posgrado y Sesi´ on de Carteles, cuyo llamado se defini´ o por los intereses de las comunidades activas en el pa´ıs. De esta forma, el ENC qued´ o conformado principalmente por 8 talleres: Computaci´ on Cl´ınica e Inform´ atica M´edica (CCIM), Investigaci´ on y Aplicaci´ on de la Ingenier´ıa de Software (IAIS), WorkShop on Network Systems and Protocols (WNSP), Biocomputaci´ on, Aspectos algor´ıtmicos de Sistemas Computacionales, Tecnolog´ıas Emergentes en la Educaci´ on (TTEE), Aplicaciones de C´ omputo Suave (TACS), 2nd Workshop on Semantic Web and Linked Open Data (SW-LOD). La publicaci´ on de este libro digital, con ISBN 978-0-9908236-0-5, corre a cargo de la SMCC, de la Universidad Aut´ onoma de Baja California (UABC), del Centro de Investigaci´ on Cient´ıfica y de Educaci´ on Superior de Ensenada (CICESE) y de Nova Universitas. Contiene 95 trabajos seleccionados de un total de 148; los cuales fueron previamente seleccionados por los respectivos comit´es de programas. A nombre de la Sociedad Mexicana de Ciencias de la Computaci´ on, enfatizamos nuestro agradecimiento a todos los miembros de la SMCC pertenecientes al INAOE, CICESE, CENIDET, INFOTEC, ITESM, ITSON, UABC, quienes sin el apoyo de sus instituciones, no hubiera sido posible realizar este evento. Agradecemos en particular a la Asociaci´ on Mexicana de Interacci´ on Humano Computadora (AMEXIHC) por su gran colaboraci´ on para tomar decisiones de log´ıstica y conjuntar las audiencias de los Congresos MexIHC y ENC. Queremos tambi´en agradecer a los organizadores de Talleres, Consorcio de Posgrado y Sesi´ on de Carteles, y a los Comit´es de Revisi´ on, por su esfuerzo y tiempo invertido para asegurar la calidad de los trabajos publicados en este libro. Agradecemos encarecidamente al Dr. Modesto Seara V´ asquez, Rector del SUNEO, a M.E.C. Jos´ ue Neftal´ı Garc´ıa Mat´ıas, Vice-Rector Acad´emico. Y a todos los miembros del Comit´e Local, presididos por Dr. Ra´ ul Cruz Barbosa, Director del Instituto de Computaci´ on de la Universidad Tecnol´ ogica de la Mixteca y por M.C. Mario A Moreno Rocha, Director Acad´emico del UsaLab Laboratorio de Usabilidad de la Universidad Tecnol´ ogica de la Mixteca. Especialmente, al Comit´e Local agradecemos su disposici´ on incondicional en la organizaci´ on del ENC y la hospitalidad brindada. Finalmente, agradecemos a todos los participantes del ENC’2014 por el inter´es en participar y contribuir a que este evento sea el que caracterice a la comunidad cient´ıficaen Ciencias
v
de la Computaci´ on de M´exico. Hacemos una menci´ on especial a los administradores del sistema easychair, por permitirnos accederlo.
Octubre 24, 2014 Mexicali, B.C. M´exico
Marcela D. Rodr´ıguez Ana. I. Mart´ınez Juan Pablo Garc´ıa-V´azquez
vi
Taller de Aplicaciones de C´ omputo Suave Optimizaci´ on Binaria por C´ umulo de Part´ıculas con Memoria (MBPSO) aplicado a un problema de espectro compartido . . . . . . . . . . .paper92 .. ´ Jes´ us Esteban Mart´ınez F´elix, Anabel Mart´ınez Vargas and Angel G. Andrade An´ alisis de sentimientos como medida de usabilidad en sistemas de di´ alogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper51 .. Cynthia Patricia Pichardo Cruz and V´ıctor Manuel de La Cueva Hern´ andez Plataforma educativa y experimental para comprender la optimizaci´on multi-objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper85 .. Josu´e Dom´ınguez, Oscar Montiel-Ross, Roberto Sep´ ulveda and Anabel Martinez-Vargas Soft Computing Techniques for Disability: A Short Review . . . . . . . . . .paper124 ... Jose Rafael Rojano Caceres, Genaro Rebolledo and Francisco Herrera A Modular Handwritten Kanji Recognition Schema . . . . . . . . . . . . . . . . .paper89 .. Lars Fredrik Karlstr¨ om and Everardo Guti´errez L´ opez Plataforma de Localizaci´ on e Identificaci´on de Actividad dentro del Hogar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper79 .. Fernando Mart´ınez-Reyes, H´ector Alfredo Valenzuela-Estrada and Luis Carlos Gonz´ alez-Gurrola Performance characterization of Machine Learning algorithms in mobile devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper27 .. Ricardo Moreno Nieto, Luis-Carlos Gonz´ alez-Gurrola and Fernando Mart´ınez Reyes Optimizaci´ on del Diagrama de Radiaci´on de un Agrupamiento Lineal y Planar de Antenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper123 ... Guillermo Galaviz, Miguel Garc´ıa-Andrade, Armando Arce Casas and Mart´ın Luna Rivera Taller de Investigaci´ on y Aplicaci´ on de la Ingenier´ıa de Software Medici´ on de la Gesti´ on del Conocimiento en un proyecto de Mejora de Procesos de Software. Estudio piloto en una empresa escolar:AvanTI . .paper36 .. Brenda L. Flores-Rios, Ang´elica Astorga-Vargas and Gloria ChavezValenzuela La Exteriorizaci´ on de Activos de Conocimiento en Mejora de Procesos Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper101 ... Brenda L. Flores-Rios, Jorge Eduardo Ibarra-Esquer, Francisco J. Pino, Mar´ıa Ang´elica Astorga Vargas, Felix F. Gonzalez-Navarro and Oscar M. Rodr´ıguez-Elias viii
Una Visi´ on Global del Dise˜ no Centrado en el Usuario en la Industria de Desarrollo de Software en M´exico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper14 .. Hermenegildo Fern´ andez Santos, Lluvia Carolina Morales Reynaga and Mois´es Homero S´ anchez L´ opez La importancia de las Soft Skills para los Ingenieros de Software . . . . . .paper30 .. Oscar M. Rodr´ıguez-Elias, Leonel U. Ortega-Encinas, Sonia R. MenesesMendoza and Jos´e M. Rodr´ıguez-P´erez Los Videojuegos como actividad de ocio en Adultos Mayores: La experiencia de un grupo focal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper98 .. Janeth Rodr´ıguez, Ram´ on R. Palacio, Christian O. Acosta, Ra´ ul Casillas and Ana I. Grimaldo Efectividad de t´ecnicas de prueba de software aplicadas por sujetos novicios de pregrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper12 .. Omar S. G´ omez, Ra´ ul A. Aguilar and Juan P. Uc´ an Integrating formal methods into traditional practices for software development: an overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper15 .. Carlos Alberto Fern´ andez-Y-Fern´ andez Hints for adopting a SW developing process model for TI Enterprises in the Puebla-Tlaxcala zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper48 .. Altagracia Berruecos-Xicoht´encatl, Alberto Portilla, Carolina-Rocio S´ anchezP´erez, Marva-Angelica Mora-Lumbreras and Norma S´ anchez-S´ anchez Marco de Referencia para la Econom´ıa basada en Conocimiento y Sustentabilidad en la Industria TIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper65 .. Rodrigo Mata and Cesar Cardenas An´ alisis del Estado Actual de Certificaciones CMMI-DEV ver. 1.3 a˜ no 2013 y 2014, a Nivel Mundial y en M´exico . . . . . . . . . . . . . . . . . . . . . . . .paper108 ... ´ Yesenia NohemI´ GonzAlez, Nayely Yaline Le´ on, Jos´e Juan Hern´ andez and Mar´ıa Guadalupe Medina Evaluaci´ on de Usabilidad y Experiencia del Usuario en la Plataforma de Capacidades Cient´ıficas y Tecnol´ogicas del Tecnol´ogico Nacional de M´exico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper28 .. Julia Yazm´ın Arana-Llanes, Juan Gabriel Gonz´ alez-Serna, Hugo Omar Alejandres-S´ anchez and Nimrod Gonz´ alez-Franco Proceso de desarrollo de software para equipos con baja Experiencia, con alta Rotaci´ on y Sin Arquitecto: Estudio de Mapeo Sistematizado. .paper67 .. Paulina Valencia, Angelina Espinoza and Humberto Cervantes Herramienta para el modelado de flujos de tareas y traducci´on al algebra de tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .paper82 ´ .. Jos´e Angel Quintanar Morales and Carlos Alberto Fernandez-Y-Fernandez ix