Dr. Christian Quesada-López

Dr. Christian Quesada-López

Descripción: 

Docente e Investigador de la Escuela de Ciencias de la Computación e Informática, y del Centro de Investigaciones en Tecnologías de la Información y Comunicación de la Universidad de Costa Rica (UCR). Con más de diez años de experiencia a nivel universitario, docente en cursos de pregrado y posgrado, asesor de trabajos de graduación y tesis. He participado en proyectos de investigación en el área de la ingeniería de software, interdisciplinarios con componente de innovación tecnológica en el área de salud, nutrición, educación y psicología, y proyectos de innovación docente para la enseñanza de la ingeniería de software y proyectos de acción social. Investigador en el área de la ingeniería de software experimental, con interés en medición y calidad del software, metodologías de desarrollo híbridas y ágiles, desarrollo de aplicaciones móviles, administración de proyectos, ingeniería de software continua, inteligencia artificial aplicada a la ingeniería de software, diseño centrado en el usuario, métodos de enseñanza de la ingeniería de software y desarrollo de aplicaciones para el área de salud. Autor de múltiples publicaciones científicas en conferencias y revistas académicas nacionales e internacionales. Revisor de artículos científicos en revistas académicas internacionales y nacionales. Profesional de la industria de desarrollo de software por más de diez años en puestos de ingeniería de software y dirección de proyectos.

Es estudiante: 
No

Formación académica

Maestría Académica en Educación con énfasis en Docencia Universitaria. 2021 – presente. Universidad de Costa Rica, San José, Costa Rica. En proceso.

Doctorado Académico en Computación e Informática. 2018. Universidad de Costa Rica, San José, Costa Rica.

Maestría Profesional en Computación e Informática. 2012. Universidad de Costa Rica, San José, Costa Rica.

Bachillerato en Ingeniería en Computación. 2002. Instituto Tecnológico de Costa Rica, Cartago, Costa Rica.

Experiencia laboral

Pasantías de Investigación

COPPE, Universidad Federal de Rio de Janeiro. 2014. Grupo de Investigación en Ingeniería de Software Experimental. Dr. Guilherme Horta Travassos. Rio de Janeiro, Brasil, enero a marzo del 2014.

Universidad Politécnica de Valencia. 2015. Centro de Investigación en Métodos de Producción de Software. Dr. Oscar Pastor López. Valencia, España, enero a marzo del 2015.

Experiencia Docente y Profesional

Profesor e Investigador.  2018 – presente. Universidad de Costa Rica, Montes de Oca, San José, Costa Rica. Escuela de Ciencias de la Computación e Informática, Facultad de Ingeniería.

  • Profesor asociado, 2020 – Presente (Régimen Académico: 115.87).
  • Profesor invitado, 2018-2020.

Docencia:

  • Cursos de Pregrado: Ingeniería de Software, Proyecto Integrador de Ingeniería de Software y Bases de Datos, Desarrollo de Aplicaciones para Dispositivos Móviles, Práctica Supervisada, Seminario de Investigación, Investigación Dirigida.
  • Cursos de Posgrado: Ingeniería de Software Experimental, Métricas de Software, Seminario de Investigación, Investigación Dirigida, Investigación de Tesis, Defensa de tesis, Defensa de TFIA.
  • Asesor en Trabajos Finales de Graduación, Trabajos Finales de Investigación Aplicada y Tesis de Maestría y Doctorado.

Comisiones y Coordinaciones:

  • Comisión de Docencia. Miembro. 2018-2021.
  • Comisión del Programa Posgrado en Computación e Informática. Miembro. 2019-presente.
  • Consejo Científico del Centro de Investigaciones en Tecnologías de la Información y Comunicación (CITIC). Miembro. 2021-presente.
  • Consejo Científico del Instituto de Investigaciones en Ingeniería (INII). Miembro. 2021-presente.
  • Énfasis de Ingeniería de Software de la Carrera de Bachillerato en Computación. Coordinador. 2018-2021.
  • Revista de Ingeniería. Editor del Área de Computación e Informática. 2021-presente.
  • Curso de Proyecto Integrador de Ingeniería de Software y Bases de Datos, Ingeniería de Software, Bases de Datos, Desarrollo de Aplicaciones para Dispositivos Móviles. Coordinador. 2018-2021.
  • Curso Práctica Supervisada y Práctica Supervisada Modalidad Pasantía. Coordinador. 2020-presente.

Profesor Interino. 2010 – 2018. Universidad de Costa Rica, Montes de Oca, San José, Costa Rica.

  • Escuela de Ciencias de la Computación e Informática, Faculta de Ingeniería. 2017-2018.
  • Escuela de Administración de Negocios, Facultad de Ciencias Económicas. 2010-2016.

Investigador. 2014 – 2018. Centro de Investigaciones en Tecnologías de la Información y Comunicación.               

Profesor Interino e Investigador. 2016 – Presente. Universidad Estatal a Distancia.

  • Escuela de Ciencias Exactas y Naturales. Ingeniería Informática. Cursos de Investigación para Trabajos Finales de Graduación.

Asesor Despacho Ministerial. 2016 – 2017. Ministerio de Ciencia, Tecnología y Telecomunicaciones. San José, Costa Rica.

  • Asesor en Proyectos de Gobernanza Digital, Ingeniería de Software, Estándares de Calidad, Investigación y Desarrollo, Datos Abiertos, Software Libre.

Profesor Interino..2008-2011. Universidad Latina de Costa Rica

  • Escuela de Sistemas de Información, Telemática y Electrónica. Facultad de Ingeniería. Cursos de Programación.

Director de Proyectos e Ingeniero de Software. 2001 – 2012. TECNYSIS S.A. San José, Costa Rica.

  • Director de Proyectos, Líder Técnico, Ingeniero de Software, Analista y Desarrollador.
  • Administración de proyectos en tecnología web y cliente/servidor multicapa para el sector público y privado. Sistemas en el área de Logística y Comercio Internacional.

Consultor Informático. 2001. YANBER S.A. San José, Costa Rica.

  • Desarrollo del Sistema Web del Centro de Documentación Virtual para el Proceso de Certificación de Calidad ISO-9000.

Proyectos de Investigación, Acción Social y Docencia

  1. Proyecto No. 462-2020. “Programa de Asesorías, Actualización y Capacitación Computacional (PAACC)”. 2022-2026, UCR. Coordinador. Vicerrectoría de Acción Social.
  2. Proyecto No. 834-C1011. “Procedimiento Automatizado de Medición de Contribuciones a Partir de Repositorios de Proyectos de Desarrollo de Software”. 2021-2023, UCR. Investigador Principal. Vicerrectoría de Investigación.
  3. Proyecto No. 731-95704. “Estrategia para el mejoramiento a la Revista de Ingeniería.” 2021-2023, UCR. Investigador Colaborador. Vicerrectoría de Investigación.
  4. Proyecto No. 834-C1016. “Diseño y evaluación de un prototipo de plataforma de servicios de telerehabilitación para personas con antecedente de cáncer de mama”. 2021, UCR. Investigador Colaborador. Vicerrectoría de Investigación.
  5. Actividad del proyecto No. ED-3000 VAS Fase I y II. “Desarrollo de una aplicación móvil para el equipo de Primera Respuesta Médica Especializada (PRIME) del Centro Especializado de Atención de Pacientes con COVID-19 (CEACO)”. 2020. UCR. Coordinador. Vicerrectoría de Acción Social.
  6. Actividad de investigación No. 834-C0-726. “Organización de la Conferencia Iberoamericana de Ingeniería de Software (CIBSE 2021) en Costa Rica”. 2020-2021. UCR. Investigador Colaborador. Vicerrectoría de Investigación.
  7. Proyecto No. 723-B9-343. “Intervenciones en infancia temprana para reducir la desigualdad en las oportunidades educativas”. 2019-2021. UCREA, UCR. Investigador Colaborador. Vicerrectoría de Investigación.
  8. Proyecto No. 834-B8-A27. “Evaluación empírica de la metodología aFPA para la automatización de la medición del tamaño funcional del software”. UCR. 2018-2021. Investigador Principal. Vicerrectoría de Investigación.
  9. Proyecto de investigación No. 834-B7-749. “Evaluación de herramientas automatizadas para pruebas de software basadas en modelos”. 2017-2019. UCR. Investigador Colaborador. Vicerrectoría de Investigación.
  10. Proyecto No. CI-1911-2018. “Diseño e implementación de estrategias didácticas para el ‘Módulo con proyecto integrador de ingeniería de software y bases de datos’: articulando el paradigma pedagógico de la carrera, el aprendizaje basado en proyectos y las prácticas disciplinares”. UCR. 2017-2019. Investigador Colaborador. Vicerrectoría de Docencia.
  11. Proyecto. “Estado Actual de las Prácticas de Aseguramiento de la Calidad en Organizaciones que Desarrollan Software en Costa Rica”. UNED. 2017-2018. Investigador Colaborador.
  12. Proyecto No. 834-B5-A18. “Medición automatizada del tamaño funcional de aplicaciones transaccionales”. 2015-2017. UCR. Investigador Principal. Vicerrectoría de Investigación.
  13. Proyecto No. 450-B4-345. “Plataforma de servicios nutricionales ofrecidas a través de dispositivos móviles para el monitoreo de metas relacionadas con alimentación saludable”. 2014-2017. UCR. Investigador Colaborador. Vicerrectoría de Investigación.
  14. Proyecto No. PID-CI-1233-2016. “Modelo pedagógico basado en proyectos: articulación entre el diseño curricular y emergentes para su desarrollo”. Investigador Colaborador Ad-honorem. ECCI, UCR. 2016-2017. Vicerrectoría de Docencia.
  15. Proyecto No. 221-B4-035. “Desarrollo de competencias en Tecnologías de la Información (TI) en el ámbito de la Administración de Negocios”. 2014-2016. UCR. Investigador Principal. Vicerrectoría de Investigación.

Publicaciones Académicas  

  1. Mejías, J., Quesada-López, C., Villalobos-Arias, L., Lara, A., … & Jenkins, M. (2022). Desarrollo y evaluación de un prototipo de aplicación móvil para la administración de traslados de pacientes COVID-19. Revista Ibérica de Sistemas e Tecnologias de Informação (RISTI). Scopus.
  2. Villalobos-Arias, L. & Quesada-López, C. (2021). Comparative study of Random Search Hyper-Parameter Tuning for Software Effort Estimation. In Proceedings of the 17th International Conference on Predictable Models and Data Analytics in Software Engineering (PROMISE 21). Estados Unidos. ACM.
  3. Mejías, J., Quesada-López, C., Martínez, A. & Carmiol, A. (2021). Design and Evaluation of a Mobile Application for Interactive Reading. International Conference in Information Technology & Education (ICITED 21). Braga, Portugal. Springer.
  4. Hamer, S., Quesada-López, C. & Jenkins, M. (2021). Automatically recovering students’ missing trace links between commits and user stories. Proceedings of the XXIII Ibero-American Conference on Software Engineering (CibSE 2021). Costa Rica. Scopus.
  5. Villalobos-Arias, L., Quesada-López, C., Martínez, A. & Jenkins, M. (2021). Multi-objective Hyper-parameter Tuning for Software Effort Estimation. Proceedings of the XXIII Ibero-American Conference on Software Engineering (CibSE 2021). Costa Rica. Scopus.
  6. Villalobos-Arias, L., Quesada-López, C. & Murillo, J. (2021). Hyper-parameter Tuning using Genetic Algorithms for Software Effort Estimation. In Proceedings of the 16th Iberic Conference on Information and Technology Systems, (CISTI). Chaves, Portugal. IEEE.
  7. Ramírez, J., Quesada-López, C., & Jenkins, M. (2021). Herramienta MBT basada en agentes inteligentes para la generación y ejecución de casos de prueba. Jornadas Costarricenses de Investigación en Computación e Informática. San José. Costa Rica. 2021. IEEE.
  8. Hamer, S., Quesada-López, C., Martínez, A. & Jenkins, M. (2021). Students projects' source code changes impact on software quality through static analysis. In International Conference on the Quality of Information and Communications Technology (QUATIC). pp. 553-564. Springer.
  9. Hamer, S., Quesada-López, C., Martínez, A. & Jenkins, M. (2021). Using git metrics to measure students’ and teams’ code contributions in software development projects. CLEI Electronic Journal.
  10. Villalobos-Arias, L., Quesada-López, C., Martínez, A. & Jenkins, M. (2021). Hyper-Parameter Tuning of Classification and Regression Trees for Software Effort Estimation. In Trends and Applications in Information Systems and Technologies. Volume 39 (pp. 589-598). Springer International Publishing.
  11. Hamer, S., Quesada-López, C., Martínez, A. & Jenkins, M. (2021). Measuring students' source code quality through commit-impact analysis. In International Conference on Information Technology & Systems (pp. 1-10). Springer.
  12. Ramírez, J, Quesada-López, C., Martínez, A. & Jenkins, M. (2021) Agent-Oriented Approaches for Model-Based Software Testing: A Mapping Study. In International Conference on Information Technology & Systems (pp. 1-10). Springer.
  13. Villalobos-Arias, L., Quesada-López, C., Martínez, A. & Jenkins, M. (2021). Técnicas de ajuste de hiperparámetros de algoritmos de aprendizaje automático para la estimación de esfuerzo: un mapeo de literatura. Revista Ibérica de Sistemas e Tecnologias de Informação (RISTI). Scopus.
  14. Rímolo, P., Jenkins, M., Quesada-López, C. & Martínez, A. (2021). Inteligencia artificial para sistemas de recomendación: un mapeo de literatura. Revista Ibérica de Sistemas e Tecnologias de Informação (RISTI). Scopus.
  15. Martínez, C., Martínez, A., Quesada-López, C. & Jenkins, M. (2021). Comparison of end-to-end testing tools for microservices: A case study. In International Conference on Information Technology & Systems (pp. 1-10). Springer.
  16. Barrantes, J., Martínez, A., Quesada-López, C. & Jenkins, M. (2021). Blockchain para la seguridad de la Internet de las Cosas: un estudio terciario. Revista Ibérica de Sistemas e Tecnologias de Informação (RISTI). Scopus.
  17. Villalobos-Arias, L., Quesada-López, C., Guevara, J., Martínez, A. & Jenkins, M. (2020) Evaluating Hyper-Parameter Tuning using Random Search in Support Vector Machines for Software Effort Estimation. 15th International Conference on Predictive Modeling in Software Engineering (PROMISE 20). California. Estados Unidos. ACM.
  18. Hamer, S., Quesada-López, C., Martínez, A. & Jenkins, M. (2020). Measuring students’ contributions in software development projects using Git metrics. XLVI Latin American Computing Conference (CLEI 2020). Ecuador. IEEE.
  19. Villalobos-Arias, L., Quesada-López, C., Martínez, A. & Jenkins, M. (2020). Assessing two graph-based algorithms in a model-based testing platform for Java applications. Proceedings of the 15th Iberian Conference on Information Systems and Technologies (CISTI). Sevilla, España. IEEE.
  20. Quesada-López, C., Martínez, A., Jenkins, M., Salas, L. & Gómez, J. (2020). Una herramienta para la estimación temprana del tamaño funcional del software. Proceedings of the 15th Iberian Conference on Information Systems and Technologies (CISTI). Sevilla, España. IEEE.
  21. Villegas, D., Martínez, A., Quesada-López, C. & Jenkins, M. (2020). Internet de las Cosas para el tratamiento del cáncer: un mapeo sistemático de literatura. Proceedings of the 15th Iberian Conference on Information Systems and Technologies (CISTI). Sevilla, España. IEEE.
  22. Ugalde, F., Martínez, A., Quesada-López, C. & Jenkins, M. (2020). A comparative study on measuring software functional size to support effort estimation in agile. Proceedings of the XXIII Ibero-American Conference on Software Engineering (CibSE 2020). Curitiba, Brasil. 4-8 mayo 2020.
  23. Zúñiga, J., Martínez, A., Quesada-López, C. & Jenkins, M. (2020). Técnicas de aprendizaje automático para mejorar el rendimiento de aplicaciones web: un mapeo sistemático de literatura. Proceedings of the XXIII Ibero-American Conference on Software Engineering (CibSE 2020). Curitiba, Brasil. 4-8 mayo 2020.
  24. Gamboa, E., Martínez, A., Quesada-López, C. & Jenkins, M. (2020). Pruebas automatizadas de seguridad para aplicaciones web: Un mapeo sistemático de literatura. Proceedings of the XXIII Ibero-American Conference on Software Engineering (CibSE 2020). Curitiba, Brasil. 4-8 mayo 2020. Scopus.
  25. Villegas, D., Martínez, A., Quesada-López, C., Jenkins, M. (2020) Internet de las Cosas para el tratamiento del cáncer: un mapeo sistemático de literatura. Proceedings of the 15th Iberian Conference on Information Systems and Technologies (CISTI 2020). Sevilla, España. IEEE.
  26. Monge, M., Martínez, A., Quesada-López, C. & Jenkins, M. (2020). Data mining and machine learning techniques for bank customers segmentation: A systematic mapping study. Proceedings of the 2020 Intelligent Systems Conference (IntelliSys). Amsterdam, Holanda. 3-4 setiembre 2020. Springer.
  27. Pandolfi, M., Martínez, A., Quesada-López, C. & Jenkins, M. (2020). Automatic classification of web news: A systematic mapping study. Proceedings of the 2020 Intelligent Systems Conference (IntelliSys). Amsterdam, Holanda. 3-4 setiembre 2020. Springer.
  28. Quesada-López, C., Madrigal-Sánchez, D. & Jenkins, M. (2020). An Empirical Analysis of IFPUG FPA and COSMIC FFP Measurement Methods. In International Conference on Information Technology & Systems (pp. 265-274). Springer, Cham.
  29. Ramírez-Alpízar, A., Jenkins, M., Martínez, A. & Quesada-López, C. (2020). Uso de técnicas de minería de datos y aprendizaje automático para la detección de fraudes en estados financieros: Un mapeo sistemático de literatura. Revista Ibérica de Sistemas e Tecnologias de Informação (RISTI). Scopus.
  30. Brenes, J., Martínez, A., Quesada-López, C. & Jenkins, M. (2020). Sistemas de apoyo a la toma de decisiones que usan inteligencia artificial en la agricultura de precisión: un mapeo sistemático de literatura. Revista Ibérica de Sistemas e Tecnologias de Informação (RISTI). Scopus.
  31. Sánchez, J., Martínez, A., Quesada-López, C. & Jenkins, M. (2020). Caracterización de las prácticas de DevOps en organizaciones que desarrollan software: Un mapeo sistemático de literatura. Revista Ibérica de Sistemas e Tecnologias de Informação (RISTI). Scopus.
  32. Quesada-López, C., Hernandez-Agüero, E. & Jenkins, M. (2019). Characterization of software testing practices: A replicated survey in Costa Rica. Journal of Software Engineering Research and Development, [S.l.], v. 7, p. 6:1 - 6:20, dec. 2019. ISSN 2195-1721.
  33. Quesada-López, C. & Martínez, A., (2019). Implementación del Aprendizaje Basado en Proyectos: Lecciones Aprendidas. Proceedings of XLV Conferencia Latinoamericana de Informática. Panamá, Panamá. 30-4 octubre del 2019. IEEE.
  34. Agüero, P., Quesada-López, C., Martínez, A. & Jenkins, M. (2019). Tools for the evaluation of web accessibility: A systematic literature mapping. Jornadas Costarricenses de Investigación en Computación e Informática. San José. Costa Rica. 19-20 Agosto, 2019. IEEE.
  35. Jensen, M., Quesada-López, C. & Jenkins, M. (2019). Current Use and Perceived Usefulness of Mobile Technologies in the Practice of Dietetics in Costa Rica. Jornadas Costarricenses de Investigación en Computación e Informática. San José. Costa Rica. 19-20 Agosto, 2019. IEEE.
  36. Quesada-López, C., Martínez, A., Jenkins, M., Salas, L. & Gómez, J. (2019). Automated Functional Size Measurement: A Multiple Case Study in the Industry. In International Conference on Product-Focused Software Process Improvement (pp. 263-279). Springer, Cham.
  37. Jenkins, M. & Quesada-López, C. (2019). A Case Study on Teaching a Software Estimation Course. In International Conference Europe Middle East & North Africa Information Systems and Technologies to Support Learning (pp. 92-101). Springer, Cham.
  38. Villalobos-Arias, L., Quesada-López, C., Martínez, A. & Jenkins, M. (2019). An evaluation of a model-based testing platform for Java applications. IET Software Journal.
  39. Martínez, A., Quesada-López, C. & Jenkins, M. (2019). Identifying implied security requirements from functional requirements. In 2019 14th Iberian Conference on Information Systems and Technologies (CISTI). IEEE.
  40. Berdasco, A., Martínez, A. & Quesada-López, C. (2019). Evaluating a model-based software testing approach in an industrial context: A replicated study. In 2019 14th Iberian Conference on Information Systems and Technologies (CISTI). IEEE.
  41. Dobles, I., Martínez, A. & Quesada-López, C. (2019). Comparing the effort and effectiveness of automated and manual tests: An industrial case study. In 2019 14th Iberian Conference on Information Systems and Technologies (CISTI). IEEE.
  42. Villalobos-Arias, L., Quesada-López, C., Martinez, A. & Jenkins, M. (2019). Model-based testing areas, tools and challenges: A tertiary study. In CLEI Electronic Journal.
  43. Quesada-López, C., Hernandez-Agüero, E. & Jenkins, M. (2019). A survey of software testing practices in Costa Rica. Proceedings of the XXII Ibero-American Conference on Software Engineering (CibSE 2019). La Habana, Cuba, 24-26 abril 2019. Scopus.
  44. Quesada-López, C., Murillo-Morera, J. & Jenkins, M. (2019). Un estudio comparativo de técnicas de minería de datos y aprendizaje máquina para la estimación del esfuerzo utilizando puntos de función. Revista Ibérica de Sistemas e Tecnologias de Informação (RISTI). Scopus.
  45. Huertas, T., Quesada-López, C. & Martinez, A. (2019). Using model-based testing to reduce test automation technical debt: An industrial experience report. Proceedings of the 2019 International Conference on Information Technology & Systems. Quito, Ecuador 6-8 February 2019. Springer.
  46. Obando, R., Quesada-López, C. & Martínez, A. (2019). Evaluating model-based testing in an industrial project: an experience report. Proceedings of the 2019 International Conference on Information Technology & Systems. Quito, Ecuador 6-8 February 2019. Springer.
  47. Aymerich, B., Quesada-López, C. & Martinez, A. (2019). Incorporando pruebas basadas en modelos para servicios web en un proceso de desarrollo ágil: Un caso de estudio en la industria. Proceedings of the 2019 International Conference on Information Technology & Systems. Quito, Ecuador 6-8 February 2019. Springer.
  48. Jensen, M., García, M., Herrera, M., Acuña, A., Romero, P., Mena, M., Quesada-López, C., ... & Flores, G.  (2019). Cambios antropométricos y satisfacción personal con una intervención educativa que incluyó el uso de una aplicación móvil, para personas con sobrepeso u obesidad. Perspectivas en Nutrición Humana, 21(2).
  49. Villalobos-Arias, L., Quesada-López, C., Martínez, A. & Jenkins, M. (2018). MBT4J: Automating the model-based testing process for Java applications. Proceedings of the International Conference on Software Processes Improvement. Guadalajara, México, pp165-174. IEEE.
  50. Quesada-López, C. & Jenkins, M. (2018). Factores asociados a prácticas de desarrollo y pruebas de software en Costa Rica: Un estudio exploratorio. Proceedings of the XXI Ibero-American Conference on Software Engineering (CibSE 2018). Bogotá, Colombia. Scopus.
  51. Madrigal-Sánchez, D., Quesada-López, C. & Jenkins, M. (2018). Towards the automation of a defect detection protocol for functional size measurements. Proceedings of the XXI Ibero-American Conference on Software Engineering (CibSE 2018). Bogotá, Colombia. Scopus.
  52. Villalobos-Arias, L., Quesada-López, C., Martinez, A. & Jenkins, M. (2018). A tertiary study on model-based testing areas, tools and challenges: Preliminary results. Proceedings of the XXI Ibero-American Conference on Software Engineering (CibSE 2018). Bogotá, Colombia. Scopus.
  53. Hernández-Agüero E., Quesada-López, C. & Jenkins, M. (2018). Una Combinación de Estrategias para una Mejora de Procesos de Software: Reporte de Experiencia en una Institución del Sector Público. Proceedings of the International Conference on Software Process Improvement (CIMPS). Guadalajara, Mexico. IEEE.
  54. Murillo-Morera, J., Quesada-López, C., Castro-Herrera, C.& Jenkins, M. (2017). A genetic algorithm based framework for software effort prediction. Software Engineering Research and Development. 5(1), 4.
  55. Quesada-López, C. & Jenkins, M. (2017). Towards an automated functional size measurement procedure: An industrial case study. Proceedings of Software Measurement and the International Conference on Software Process and Product Measurement (IWSM-MENSURA). Göteborg, Sweden. ACM.
  56. Quesada-López, C. & Jenkins, M. (2017). Procedimientos de medición del tamaño funcional: un mapeo sistemático de literatura. Proceedings of the XX Ibero-American Conference on Software Engineering (CibSE 2017). Buenos Aires, Argentina. Scopus.
  57. Quesada-López, C. & Jenkins, M. (2017). Un estudio sobre las prácticas de la ingeniería del software en Costa Rica: Resultados preliminares. Proceedings of the XX Ibero-American Conference on Software Engineering (CibSE 2017). Buenos Aires, Argentina. Scopus.
  58. Riaz, M., King, J., Slankas, J., Williams, L., Massacci, F., Quesada-López, C. & Jenkins, M. (2016). Identifying the implied: Findings from three differentiated replications on the use of security requirements templates. Empirical Software Engineering. Springer.
  59. Quesada-López, C., Salas, L., Gómez, J. & Jenkins, M. (2017). FastWorks FPA: Una herramienta para automatizar la medición del tamaño funcional. Proceedings of XLIII Conferencia Latinoamericana de Informática y 46 Jornadas Argentinas de Informática. Córdoba, Argentina.
  60. Quesada-López, C. & Jenkins, M. (2016). Function point structure and applicability: A replicated study. Object Technology, 15 (3), 1-16.
  61. Quesada-López, C., Jensen, M., Zuñiga, G., Chinnock, A. & Jenkins, M. (2016). Design, Development and Validation of a Mobile Application for Goal Setting and Self-Monitoring of Dietary Behaviors. Proceedings of the IEEE XXXVI Convention of Central America and Panama (CONCAPAN). San José, Costa Rica. IEEE.
  62. Quesada-López, C., Madrigal, D. & Jenkins, M. (2016). An empirical evaluation of automated function points. Proceedings of the XIX Ibero-American Conference on Software Engineering (ESELAW). Ecuador. Scopus.
  63. Murillo, J., Quesada-López, C. & Jenkins, M. (2016). An empirical validation of an automated genetic software effort prediction framework using the ISBSG Dataset. Proceedings of the XIX Ibero-American Conference on Software Engineering (CibSE/ESELAW). Quito, Ecuador. Scopus.
  64. Quesada-López, C., Murillo, J., Castro, C. & Jenkins, M. (2016). COSMIC Base Functional Components in Functional Size Based Effort Estimation Models. Proceedings of the IEEE XXXVI Convention of Central America and Panama (CONCAPAN). San José, Costa Rica.
  65. Murillo, J., Quesada-López, C., Castro, C. & Jenkins, M. (2016). An Empirical Evaluation of NASA-MDP Data sets using a Genetic Defect-Proneness Prediction Framework. Proceedings of the IEEE XXXVI Convention of Central America and Panama (CONCAPAN). San José, Costa Rica.
  66. Argüello-Solano, S. & Quesada-López, C. (2015). Implementación del cuadro de mando integral en pequeñas empresas: una revisión de literatura. Revista de Ciencias Económicas, Universidad de Costa Rica, 33(2).
  67. Quesada-López, C. & Jenkins, M. (2015). Applying a verification protocol to evaluate the accuracy of functional size measurement procedures: An empirical approach. Lecture notes in computer science: Vol. 9459. Proceedings of the Product-focused software process improvement (p. 243-250). Bolzano, Italia. Springer.
  68. Quesada-López, C. & Jenkins, M. (2015). An empirical validation of function point structure and applicability: A replication study. Proceedings of the XVIII ibero-american conference on software engineering (CIbSE-ESELAW). Lima, Perú. Scopus.
  69. Quesada-López, C. & Jenkins, M. (2015). An evaluation of functional size measurement methods. Proceedings of the XVIII ibero-american conference on software engineering (CIbSE). Lima, Perú. Scopus.
  70. Jensen, M., Quesada-López, C., Zúñiga, G., Chinnock, A. & Jenkins, M. (2015). Design, Development and Evaluation of a Mobile Application for Goal Setting and Self-Monitoring Of Dietary Behaviors. Journal of the Academy of Nutrition and Dietetics, 115(9), Abstract A67.
  71. Méndez-Porras, A., Quesada-López, C. & Jenkins, M. (2015). Automated Testing of Mobile Applications: A Systematic Map and Review. Proceedings of the XVIII ibero-american conference on software engineering (CIbSE). Lima, Perú. Scopus.
  72. Falessi, D., Codabux, Z., Rong, G., Stamelos, I., Ferreira, W., Scaliante, I., Barreiros. E., Quesada-López, C. & Tsirakidis, P. (2015). Trends in empirical research: the report on the 2014 doctoral symposium on empirical software engineering. ACM SIGSOFT software engineering notes: Vol. 40 (p. 243-250). ACM.
  73. Murillo, J., Quesada-López, C., Castro, C. & Jenkins, M. (2015). Software Fault Prediction: A Systematic Mapping Study. Proceedings of the XVIII ibero-american conference on software engineering (CibSE-ESELAW). Lima, Perú. Scopus.
  74. Quesada-López, C. & Jenkins, M. (2014). A functional size measurement procedure for MVC applications from source code: Design, automation and empirical evaluation. Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM-IDoESE). Torino, Italia.
  75. Quesada-López, C. & Jenkins, M. (2014). Function point structure and applicability validation using the ISBSG Dataset: A replicated study. Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). Torino, Italia. ACM.
  76. Jensen, M., Quesada-López, C., Zúñiga, G., Chinnock, A. & Jenkins, M. (2014). Plataforma de servicios nutricionales ofrecida a través de dispositivos móviles para el monitoreo de metas relacionadas con alimentación saludable. Primer Encuentro Académico. Facultad de Medicina, Universidad de Costa Rica. San Pedro de Montes de Oca, San José, Costa Rica.
  77. Quesada-López, C. & Jenkins, M. (2013). A Prototype Mobile Expert System for Nutritional Diagnosis. Proceedings of the 26th International Florida Artificial Intelligence Research Society (FLAIRS 26). Tampa, USA.
  78. Arce, R., Arce, G. & Quesada-López, C. (2013). Sistema arancelario costarricense: basado en la nomenclatura del sistema armonizado de designación y codificación de mercancías y sistema arancelario centroamericano: actualizado con la quinta enmienda OMA de marzo 2013. ISBN: 9789968476461. Libro. San José, Costa Rica.

Trabajos de Graduación Asesorados

  1. Leonardo Villalobos. Maestría Académica. Tesis: “Evaluating an Automated Procedure of Machine Learning Parameter Tuning for Software Effort Estimation”. Director.
  2. Leonardo Villalobos. Tesis Licenciatura. Tesis: “An Empirical Evaluation of a Model-Based Software Testing Tool”. Director.
  3. Luis Carlos Salas. Maestría Profesional. “Medición del Tamaño Funcional en el Desarrollo de Software dirigido por Modelos”. TFIA. Director.
  4. Denisse Madrigal. Maestría Profesional. “Automatización de un Protocolo de Verificación de Exactitud de la Medición del Tamaño Funcional del Software”. TFIA. Director.
  5. Andrés Martínez. Maestría Profesional. “Validación Empírica de la Efectividad del Uso de Plantillas para la Identificación de Requerimientos de Seguridad de Aplicaciones de Software”. TFIA. Director.
  6. José Pablo Hernández. Maestría Profesional. “Evaluating Human-Computer Interaction Techniques for Requirements Specification”. TFIA. Director.
  7. Erika Hernández. Maestría Profesional. “Diseño de un Plan de Mejoras dirigido a la Gestión de la Calidad para la Dirección de Tecnología de Información y Comunicaciones de la Universidad Estatal a Distancia”. TFIA. Director.
  8. Oscar Huertas. Maestría Profesional. “Visualización de Modelos Funcionales de Aplicaciones de Software Generados a partir de su Código Fuente”. TFIA. Director.
  9. Greivin Fletes. Maestría Profesional. “Evaluación Empírica de Pruebas de Usabilidad para Aplicaciones Móviles en el Área de Salud”. TFIA. Director.
  10. Rebeca Obando. Maestría Profesional. “Evaluación del Uso de Pruebas basadas en Modelos en un Proyecto de la Industria”. TFIA. Asesor.
  11. Thomás Huertas. Maestría Profesional. “Pruebas basadas en Modelos como Mecanismo para disminuir la Deuda Técnica de Aplicaciones Legadas: Una Experiencia en la Industria”. TFIA. Asesor.
  12. Cristian Martínez. Maestría Profesional. “Evaluación de una Herramienta de Pruebas End-to-End para Microservicios implementados en Java y Node.js”. TFIA. Asesor.
  13. Fabián Ugalde. Maestría Profesional. “Comparación de Cuatro Métodos de Medición de Tamaño Funcional para la Estimación del Esfuerzo de Desarrollo de Aplicaciones Móviles en una Startup que utiliza la Metodología Ágil Scrum”. TFIA. Asesor.
  14. Ana Carolina López. Maestría Profesional. “Diseño e Implementación de un Programa de Métricas para el Proceso de Desarrollo de Software de una Organización que utiliza la Metodología Ágil Scrum”. TFIA. Asesor.
  15. Merlin Sánchez. Maestría Profesional. “Desarrollo de un Prototipo de Herramienta que Automatiza el Conteo de Puntos Snap para la Interfaz Gráfica en Proyectos realizados con Drupal”. TFIA. Asesor.
  16. Jason Bolaños. Maestría Profesional. “Evaluación de la Efectividad del Proceso de Remoción de Defectos en una Organización Ágil que utiliza Scrum”. TFIA. Asesor.
  17. Thomas Huertas. Maestría Profesional. “Pruebas basadas en Modelos como Mecanismo para disminuir la Deuda Técnica de Aplicaciones Legadas: Una Experiencia en la Industria”. TFIA. Asesor.
  18. Ignacio Dobles. Maestría Profesional. “Comparación de la Efectividad de Pruebas Automatizadas y Manuales sobre Herramientas Web en términos del Retorno sobre la Inversión”. TFIA. Asesor.
  19. Patricia Agüero, Elizabeth Gamboa, Maricel Monge, Mauricio Pandolfi. Licenciatura en Computación e Informática. Licenciatura en Computación e Informática. “Revisión de Temas Avanzados para la Carrera de Bachillerato en Computación con Énfasis en Ingeniería de Software: Un Conjunto de Estudios Empíricos”. Seminario de investigación de Licenciatura. Director.
  20. Johnny Barrantes, José Brenes, José Sánchez, David Villegas. Licenciatura en Computación e Informática. Licenciatura en Computación e Informática. “Revisión de Temas Avanzados para la Carrera de Bachillerato en Computación con Énfasis en Ingeniería de Software: Un Conjunto de Estudios Empíricos”. Seminario de investigación de Licenciatura. Asesor.
  21. Ronny Elizondo, José Mayorga, Alex Ramírez, Paolo Rímolo, Jean Zúñiga. Licenciatura en Computación e Informática. “Revisión de Temas Avanzados para la Carrera de Bachillerato en Computación con Énfasis en Ingeniería de Software: Un Conjunto de Estudios Empíricos”. Seminario de investigación de Licenciatura. Asesor.
  22. Roger Guardián López. Maestría en Administración de Negocios. “Propuesta de Cuadro de Mando Integral (Balanced Scorecard) para la Gerencia de Distribución y Ventas, de la Refinadora Costarricense de Petróleo S.A.” Asesor.

Revisor de Artículos en Revista y Conferencias

Proyectos

Publicaciones

Evaluation of a model-based testing platform for Java applications

Descripción:

Model-based testing (MBT) automates the design and generation of test cases from a model. This process includes model building, test selection criteria, test case generation, and test case execution stages. Current tools support this process at various levels of automation, most of them supporting three out of four stages. Among them is MBT4J, a platform that extends ModelJUnit with several techniques, offering a high level of automation for testing Java applications. In this study, the authors evaluate the efficacy of the MBT4J platform, in terms of the number of test cases generated, errors detected, and coverage metrics. A case study is conducted using two open-source Java systems from public repositories, and 15 different configurations. MBT4J was able to automatically generate five models from the source code. It was also able to generate up to 2025 unique test cases for one system and up to 1044 for the other, resulting in 167 and 349 failed tests, respectively. Transition and transition pair coverage reached 100% for all models. Code coverage ranged between 72 and 84% for the one system and between 59 and 76% for the other. The study found that Greedy and Random were the most effective testers for finding errors.

Tipo de publicación: Journal Article

Publicado en: IET Software

Evaluating a model-based software testing approach in an industrial context: A replicated study

Descripción:

Software organizations are continuously looking for techniques to increase the effectiveness and efficiency of their testing processes. Model-based testing (MBT) is an approach that automates the design and generation of test cases based on a model that represents the system under test. MBT can reduce the cost of software testing and improve the systems quality. However, the introduction of the MBT approach could be complex for software development teams in the industry. This paper replicates a previous study that evaluated the use of MBT by software engineers in an industrial context. The goal of this replication is to evaluate the feasibility and acceptance of the MBT approach from the perspective of quality engineers testing a software application in the industry. We conducted a case study with four quality assurance engineers who modeled one module of the system under test, and then generated and executed a set of test cases using an MBT tool. Participants were able to use MBT to model and test the software system and provided several insights about the challenges and opportunities of using this approach.

Tipo de publicación: Conference Paper

Publicado en: 14th Iberian Conference on Information Systems and Technologies (CISTI)

Comparing the effort and effectiveness of automated and manual tests

Descripción:

This paper presents three case studies that compare the effort and effectiveness of automated versus manual testing, in the context of a multinational services organization. Effort is measured in terms of the total test time, which includes script creation and test execution in the case of automated testing, and comprises test execution and reporting in the case of manual testing. Effectiveness is measured in terms of the number and severity of defects found. The software under test is a set of Java web applications. The testing process was carried out by two testers within the organization. Our results show that automated testing needs a higher initial effort, mainly caused by the creation of the scripts, but this cost can be amortized in time as automated tests are executed multiple times for regression testing. Results also show that automated testing is more effective than manual testing at finding defects.

Tipo de publicación: Conference Paper

Publicado en: 14th Iberian Conference on Information Systems and Technologies (CISTI)

Model-based testing areas, tools and challenges: A tertiary study

Descripción:

Context: Model-based testing is one of the most studied approaches by secondary studies in the area of software testing. Aggregating knowledge from secondary studies on model- based testing can be useful for both academia and industry. 

Objective: The goal of this study is to characterize secondary studies in model-based testing, in terms of the areas, tools and challenges they have investigated. 

Method: We conducted a tertiary study following the guidelines for systematic mapping studies. Our mapping included 22 secondary studies, of which 12 were literature surveys and 10 systematic reviews, over the period 1996–2016. 

Results: A hierarchy of model-based testing areas and subareas was built based on existing taxonomies as well as data that emerged from the secondary studies themselves. This hierarchy was then used to classify studies, tools, challenges and their tendencies in a unified classification scheme. We found that the two most studied areas are UML models and transition-based notations, both being modeling paradigms. Regarding tendencies of areas in time, we found two areas with constant activity through time, namely, test objectives and model specification. With respect to tools, we only found five studies that compared and classified model-based testing tools. These tools have been classified into common dimensions that mainly refer to the model type and phases of the model-based testing process they support. We reclassified all the tools into the hierarchy of model-based testing areas we proposed, and found that most tools were reported within the modeling paradigm area. With regard to tendencies of tools, we found that tools for testing the functional behavior of software have prevailed over time. Another finding was the shift from tools that support the generation of abstract tests to those that support the generation of executable tests. For analyzing challenges, we used six categories that emerged from the data (based on a grounded analysis): efficacy, availability, complexity, professional skills, investment, cost & effort, and evaluation & empirical evidence. We found that most challenges were related to availability. Besides, we too classified challenges according to our hierarchy of model-based testing areas, and found that most challenges fell in the model specification area. With respect to tendencies in challenges, we found they have moved from complexity of the approaches to the lack of approaches for specific software domains. 

Conclusions: Only a few systematic reviews on model-based testing could be found, therefore some areas still lack secondary studies, particularly, test execution aspects, language types, model dynamics, as well as some modeling paradigms and generation methods. We thus encourage the community to perform further systematic reviews and mapping studies, following known protocols and reporting procedures, in order to increase the quality and quantity of empirical studies in model-based testing.

Tipo de publicación: Journal Article

Publicado en: CLEI Electronic Journal

Identifying implied security requirements from functional requirements

Descripción:

The elicitation of software security requirements in early stages of software development life cycle is an essential task. Using security requirements templates could help practitioners to identify implied software security requirements from functional requirements in the context of a software system. In this paper, we replicated a previous study that analyzed the effectiveness of security requirements templates to support the identification of security requirements. Our objective was to evaluate this approach and compare the applicability of the previous findings. We conducted the first replication of the controlled experiment in 2015, and subsequently conducted two differentiated replications in 2018. We evaluated the responses of 33 participants in terms of quality, coverage, relevance and efficiency and discussed insights regarding the impact of context factors. Participants were divided into treatment (security requirements templates) and control groups (no templates). Our findings support some previous results: treatment group performed significantly better than the control group in terms of the coverage of the identified security requirements. Besides, the requirements elicitation process performed significantly better in relevance and efficiency metrics in two of the three replications. Security requirements templates supported participants to identify a core set of the security requirements and participants were favorable towards the use of templates in identifying security requirements.

Tipo de publicación: Conference Paper

Publicado en: 14th Iberian Conference on Information Systems and Technologies (CISTI)

A survey of software testing practices in Costa Rica

Descripción:

Software testing is an essential activity in software development projects for delivering high quality products. In a previous study, we reported the results of a survey of software engineering practices in the Costa Rican industry. To analyze more in depth the specific software testing practices among practitioners, we replicated a previous survey conducted in South America. Our objective was to characterize the state of the practice based on practitioners use and perceived importance of software testing practices. This survey evaluated 42 testing practices grouped in three categories: processes, activities and tools. A total of 92 practitioners responded to the survey. The participants indicated that: (1) task for recording of the results of tests, documentation of test procedures and cases, and re-execution of tests when the software is modified are useful and important for software testing practitioners. (2) Acceptance and system testing are the two most useful and important testing types. (3) Tools for recording defects and the effort to fix them (bug tracking) and the availability of a test database for reuse are useful and important. Regarding the use of practices, the participants stated that (4) Planning and designing of software testing before coding and evaluating the quality of test artifacts are not a regular practice. (5) There is a lack of measurement of defect density and test coverage in the industry; and (6) tools for automatic generation of test cases and for estimating testing effort are rarely used. This study gave us a first glance at the state of the practice in software testing in a thriving and very dynamic industry that currently employs most of our computer science professionals. The benefits are twofold: for academia, it provides us with a road map to revise our academic offer, and for practitioners it provides them with a first set of data to benchmark their practices. © XXII Ibero-American Conference on Software Engineering, CIbSE 2019. All rights reserved.

Tipo de publicación: Conference Paper

Publicado en: XXII Ibero-American Conference on Software Engineering, CIbSE 2019

Evaluating Model-Based Testing in an Industrial Project: An Experience Report

Descripción:

Model-based testing (MBT) is an approach that automates the design and generation of test cases based on a model that represents the system under test. MBT can reduce the cost of software testing and improve the quality of systems in the industry. The goal of this study is to evaluate the use of MBT in an industrial project with the purpose of analyzing its efficiency, efficacy and acceptance by software engineers. A case study was conducted where six software engineers modeled one module of a system, and then generated and executed the test cases using an MBT tool. Our results show that participants were able to model at least four functional requirements each, in a period of 20 to 60 min, reaching a code coverage between 39% and 59% of the system module. We discussed relevant findings about the completeness of the models and common mistakes made during the modeling and concretization phases. Regarding the acceptance of MBT by participants, our results suggest that while they saw value in the MBT approach, they were not satisfied with the tool used (MISTA), because it did not support key industry needs.

Tipo de publicación: Conference Paper

Publicado en: Advances in Intelligent Systems and Computing

Using Model-Based Testing to Reduce Test Automation Technical Debt: An Industrial Experience Report

Descripción:

Technical debt is the metaphor used to describe the effect of incomplete or immature software artifacts that bring short-term benefits to projects, but may have to be paid later with interest. Software testing cost is proven to be high due to the time (and resource)-consuming activities involved. Test automation is a strategy that can potentially reduce this cost and provide savings to the software development process. The lack or poor implementation of a test automation approach derives in test automation debt. The goal of this paper is to report our experience using a model-based testing (MBT) approach on two industrial legacy applications and assess its impact on test automation debt reduction. We selected two legacy systems exhibiting high test automation debt, then used a MBT tool to model the systems and automatically generate test cases. We finally assessed the impact of this approach on the test automation technical debt by analyzing the code coverage attained by the tests and by surveying development team perceptions. Our results show that test automation debt was reduced by adding a suite of automated tests and reaching more than 75% of code coverage. Moreover, the development team agrees in that MBT could help reduce other types of technical debt present in legacy systems, such as documentation debt and design debt. Although our results are promising, more studies are needed to validate our findings.

Tipo de publicación: Conference Paper

Publicado en: Advances in Intelligent Systems and Computing

Incorporando pruebas basadas en modelos para servicios web en un proceso de desarrollo ágil: Un caso de estudio en la industria

Descripción:

Los equipos ágiles enfrentan dificultades para poder realizar pruebas de software a profundidad, dadas las iteraciones cortas de desarrollo. En muchos casos, las pruebas para servicios web se realizan manualmente, consumen mucho tiempo y requieren la experiencia de los miembros del equipo. Un enfoque de pruebas basadas en modelos, que permita la automatización de estas pruebas, podría mejorar la eficiencia del proceso y la calidad de los productos sin embargo, su adopción no debería contravenir los valores, principios y prácticas de las metodologías ágiles. En este caso de estudio discutimos el proceso realizado para incorporar pruebas basadas en modelos para automatizar las pruebas de servicios web en un equipo que implementa prácticas ágiles, y analizamos su efectividad al usar la herramienta TestOptimal sobre servicios web RESTful. Asimismo, discutimos las percepciones de los miembros del equipo, los retos y oportunidades de uso de este tipo de enfoques en equipos ágiles. Los resultados indican que las pruebas basadas en modelos permiten aumentar la cantidad de casos de prueba y defectos encontrados. Por su parte, los miembros del equipo consideran que para aumentar la aceptación de estos enfoques durante el desarrollo de un proyecto ágil, son esenciales el conocimiento para el modelado y las herramientas de apoyo. A pesar de que se logra una mejora en la generación de casos de pruebas automatizados y en la detección de errores, las pruebas basadas en modelos se perciben como un enfoque complejo de aplicar.

Tipo de publicación: Magazine Article

Publicado en: Revista Ibérica de Sistemas e Tecnologias de Informação

Characterization of DevOps practices in software development organizations: A systematic mapping

Descripción:

DevOps is a set of software engineering practices that combine efforts from development and operations areas, with the aim of improving delivery time and software quality. The goal of this study is to characterize DevOps practices used by organizations that develop software. For this, we performed a systematic literature mapping covering the period 2015-2019. In total, 42 primary articles were included and analyzed. We identified and classified a total of 20 DevOps practices, 18 criteria to evaluate DevOps practices, 16 benefits and 19 challenges related to DevOps’ adoption. Our results show the need for more empirical studies in organizations, which directly address issues like evaluation criteria to assess the operation of DevOps practices.

Tipo de publicación: Journal Article

Publicado en: Revista Ibérica de Sistemas e Tecnologias de Informação

Decision support systems that use artificial intelligence for precision agriculture: a systematic literature mapping

Descripción:

Decision support systems for agriculture allow to optimize crop processes by using the least amount of resources (land, water and fertilizers). In this study, we characterized decision support systems that use artificial intelligence (AI) techniques for precision agriculture processes. A total of 12 artificial intelligence techniques and 73 input variables were identified, with climate variables being the most used. Keywords: decision support systems; artificial intelligence; precision agriculture; greenhouses.

Tipo de publicación: Journal Article

Publicado en: Revista Ibérica de Sistemas e Tecnologias de Informação

Use of data mining and machine learning techniques for fraud detection in financial statements: A systematic mapping study

Descripción:

Fraud detection in financial statements is a constant and laborious task in the audit area. Traditionally, this task has been performed by experts, limiting its scope due to restrictions in manual processing capacity. In recent years, there has been an increase in the use of data mining and machine learning techniques to review in a comprehensive and automated way the organizations’ financial statements. The objective of this study was to analyze data mining and machine learning techniques used in financial fraud detection, in order to characterize the reported algorithms and the metrics used to evaluate their effectiveness. For this, a systematic mapping study of 67 studies was carried out. Our results show that since 2015 there was an upturn in the amount of studies that use these techniques for fraud detection in financial statements, where vector support machines are the most used technique, with 19 studies, followed by artificial neural networks, with 15 studies, and decision trees, with 11 studies. Effectiveness was assessed by the degree of precision with which the implemented techniques detected real fraud cases, obtaining values between 70% and 99.9%.

Tipo de publicación: Journal Article

Publicado en: Revista Ibérica de Sistemas e Tecnologias de Informação

An empirical analysis of IFPUG FPA and cosmic FFP measurement methods

Descripción:

The accuracy of functional size measuring is critical in software project management, because it is one of the key inputs for effort and cost estimation models. The functional size measurement (FSM) process is performed based on standardized methods; however, the accuracy of the FSM results is still based mostly on the knowledge of the measurers. In this paper, an empirical study was conducted to analyze the accuracy, reproducibility, and acceptance properties of the IFPUG FPA and COSMIC FFP functional size measurement methods. Results show that the performance of participants in measuring the requirement specifications using IFPUG FPA and COSMIC FFP did not differ significantly in terms of accuracy and reproducibility. Likewise, acceptance properties such as perceived ease of use, perceived usefulness, and intention to use did not present significant differences. Our results suggest that novice measurers could apply both methods with similar results.

Tipo de publicación: Conference Paper

Publicado en: Advances in Intelligent Systems and Computing

Characterization of software testing practices: A replicated survey in Costa Rica

Descripción:

Software testing is an essential activity in software development projects for delivering high quality products. In a previous study, we reported the results of a survey of software engineering practices in the Costa Rican industry. To make a more in depth analysis of the specific software testing practices among practitioners, we replicated a previous survey conducted in South America. Our objective was to characterize the state of the practice based on practitioners use and perceived importance of those practices. This survey evaluated 42 testing practices grouped in three categories: processes, activities and tools. A total of 92 practitioners responded to the survey. The participants indicated that: (1) tasks for recording of the results of tests, documentation of test procedures and cases, and re-execution of tests when the software is modified are useful and important for software testing practitioners. (2) Acceptance and system testing are the two most useful and important testing types. (3) Tools for recording defects and the effort to fix them (bug tracking) and the availability of a test database for reuse are useful and important. Regarding use and implementation of practices, the participants stated that (4) Planning and designing of software testing before coding and evaluating the quality of test artifacts are not a regular practice. (5) There is a lack of measurement of defect density and test coverage in the industry; and (6) tools for automatic generation of test cases and for estimating testing effort are rarely used. This study gave us a first glance at the state of the practice in software testing in a thriving and very dynamic industry that currently employs most of our computer science professionals. The benefits are twofold: for academia, it provides us with a road map to revise our academic offer, and for practitioners it provides them with a first set of data to benchmark their practices.

Tipo de publicación: Journal Article

Publicado en: Journal of Software Engineering Research and Development

Implementation of Project Based Learning: Lessons Learned

Descripción:

Project Based Learning (PBL) is a teaching and learning methodology where students develop projects under real conditions to acquire the knowledge and develop the skills required for their profession. In this article we discuss the lessons learned from two teachers who implemented different PBL approaches in three courses from the Bachelor in Computer and Informatics at the University of Costa Rica, during three semesters. We discuss the main considerations and decisions associated to project design elements and teaching practices. Among the main benefits identified by teachers when using PBL are the high motivation of students and the natural development of soft skills. Among the greatest challenges are (1) the design of learning assessment, considering technical aspects, soft skills, self- and peer- evaluations; (2) continuous feedback to students on their progress in the project and in team dynamics (and its consequent time investment); and (3) the necessary balance between designing a challenging and realistic project that enables the achievement of the course's learning objectives. We recommend the use of agile methodologies such as Scrum, which align very well with PBL principles, as well as the use of hybrid PBL methodologies, which include complementary didactic strategies to achieve the learning objectives of the course.

Tipo de publicación: Conference Paper

Publicado en: 2019 XLV Latin American Computing Conference (CLEI)

Tools for the evaluation of web accessibility: A systematic literature mapping

Descripción:

In recent years, different tools have been proposed to automate the evaluation of the web contents accessibility criteria proposed by the World Wide Web Consortium (W3C). These tools can verify that a website complies with web accessibility standards such as WCAG, but the results of the evaluation may depend on the tool used. This study identifies and characterizes web accessibility assessment tools through a systematic literature mapping. A total of 50 articles were analyzed. We report the accessibility criteria evaluated by each tool as well as the main challenges related to the evaluations.

Tipo de publicación: Conference Paper

Publicado en: 2019 IV Jornadas Costarricenses de Investigación en Computación e Informática (JoCICI)

Current Use and Perceived Usefulness of Mobile Technologies in the Practice of Dietetics in Costa Rica

Descripción:

Over the past 15 years, there has been an increase in the use of information and communication technologies in the field of health (eHealth), in particular regarding mobile technologies (mHealth). However, little is known about how nutritionists have adopted such technologies in their practice in Costa Rica. The objective of this study was to identify how nutritionists use mobile technologies, as well as the perceived usefulness of different services that could be incorporated in their practice. We conducted an online survey, and the responses of 185 nutritionists were analyzed. Of the sample, 69.7% perceived that the use of mobile devices in nutrition is "very important" and "very useful" (77.3%) as a support to the nutrition care process. Although 79.5% showed their willingness to offer personalized mobile services, the use of such services in practice is scarce. According to our results, there are opportunities for the implementation of mobile technology services in areas such as the electronic health file, the self-monitoring of goal progress by the patient, as well as notifications and reminders by the nutritionist.

Tipo de publicación: Conference Paper

Publicado en: 2019 IV Jornadas Costarricenses de Investigación en Computación e Informática (JoCICI)

Cambios antropométricos y satisfacción personal con una intervención educativa que incluyó el uso de una aplicación móvil, para personas con sobrepeso u obesidad

Descripción:

Antecedentes: las tecnologías móviles pueden coadyuvar en el cambio de comportamientos alimentarios en personas con exceso de peso. Sin embargo, la evidencia con aplicaciones móviles adaptadas en el contexto latinoamericano es limitada. Objetivo: evaluar cambios antropométricos y satisfacción personal en una intervención educativa para personas con exceso de peso, la cual incluyó el uso de una aplicación móvil (NutriMetas). Materiales y métodos: estudio experimental clásico con diseño de pre-post prueba en personas con exceso de peso (IMC >25,0 y ≤34,9 kg/m2). Los participantes asistieron a sesiones de educación nutricional y registraron sus metas en la aplicación NutriMetas (grupo experimental, n=26) o en papel (grupo control, n=26). Se utilizaron modelos de regresión mixto multinivel para evaluar diferencias antropométricas (peso, IMC, circunferencia de cintura y porcentaje de grasa) entre los grupos. Resultados: el grupo experimental obtuvo una pérdida de peso promedio de 2,1±2,6 kg, en comparación con 0,7±1,6 kg para el grupo control (p=0,08). La interacción entre grupo y tiempo mostró una tendencia a la significancia en el IMC (p=0,064) y en la pérdida de peso (p=0,082), que podría ser de importancia desde el punto de vista clínico. Los atributos de apariencia, efectividad, eficiencia y facilidad de aprendizaje de NutriMetas fueron valorados favorablemente por la mayoría de los participantes. Conclusiones: el uso de NutriMetas como parte de una intervención educativa resultó ser una herramienta efectiva para los pacientes.

Tipo de publicación: Journal Article

Publicado en: Perspectivas en Nutrición Humana

Automated Functional Size Measurement: A Multiple Case Study in the Industry

Descripción:

Automating functional size measurement (FSM) for software applications that use specific development frameworks is a challenge for the industry. Although FSM automation brings benefits such as savings in time and costs, and better measure reliability, it is difficult to implement. In this paper, we present a multi-case study that evaluates the accuracy of an automated procedure for software size estimation in the context of a software development company. This procedure is implemented by a tool called FastWorks FPA, which obtains the IFPUG FPA function point estimation of software applications modeled in the company’s FastWorks framework. We describe the measurement process used by the tool, and discuss the results of the case studies. The accuracy (magnitude of relative error) of the measurements computed by the tool ranged between 3.9% and 12.9%, based on the total unadjusted function points. These results provide evidence for the feasibility of automating the counting process, as the tool’s estimated functional size reasonably approximates the result of specialists’ manual counting.

Tipo de publicación: Conference Paper

Publicado en: Product-Focused Software Process Improvement

A Case Study on Teaching a Software Estimation Course

Descripción:

This paper describes a case study in designing and implementing a graduate-level course on software project estimation. The course’s objective was to introduce modern project estimation theory and practice through the process of learning through experience and reflection. We describe the goals and purpose that guided the course’s design and summarize our experience from teaching it for the first time in the 2018 spring semester. Our case study shows that a graduate-level course on software estimation can introduce several size and effort estimation methods, and that there are some affordable tools that can be used in academia. At the end students rated well our course and all of them would recommend it to a friend.

Tipo de publicación: Conference Paper

Publicado en: Learning and Analytics in Intelligent Systems

Una Combinación de Estrategias para una Mejora de Procesos de Software: Reporte de Experiencia en una Institución del Sector Público

Descripción:

Software processes improvement is the sequence of tasks and techniques that are carried out for the planning and application of the activities necessary for the effective process definition in a technology unit. Models such as the CMMI and standards such as ISO/IEC 15504 establish the quality requirements quality models that serve as guidelines for performing process improvement. However, the implementation of a process improvement initiative in a public sector institution, with limited resources, a rigid structure, and legislation to comply with, must be carried out according to the specific characteristics of the technology unit as to be accepted by the development teams. This article presents a report on the experience of applying a combination of strategies to carry out a process improvement project focused on quality management in a technology unit of a public educational. Our objective is to provide evidence and discuss the lessons learned related to the combination of strategies and models in the planning and implementation of process improvement. Our study shows how the IDEAL model and the GQM, NTCGR, COBIT, SQA, BPMN and TAM strategies were combined to define and implement a program for achieving continuous process improvement in the institution.

Tipo de publicación: Conference Paper

Publicado en: 2018 7th International Conference On Software Process Improvement (CIMPS)

MBT4J: Automating the Model-Based Testing Process for Java Applications

Descripción:

Model-based testing is a process that can reduce the cost of software testing by automating the design and generation of test cases but it usually involves some time-consuming manual steps. Current model-based testing tools automate the generation of test cases, but offer limited support for the model creation and test execution stages. In this paper we present MBT4J, a platform that automates most of the model-based testing process for Java applications, by integrating several existing tools and techniques. It automates the model building, test case generation, and test execution stages of the process. First, a model is extracted from the source code, then an adapter—between this model and the software under test—is generated and finally, test cases are generated and executed. We performed an evaluation of our platform with 12 configurations using an existing Java application from a public repository. Empirical results show that MBT4J is able to generate up to 2,438 test cases, detect up to 289 defects, and achieve a code coverage ranging between 72% and 84%. In the future, we plan to expand our evaluation to include more software applications and perform error seeding in order to be able to analyze the false positive and negative rates of our platform. Improving the automation of oracles is another vein for future research.

Tipo de publicación: Conference Paper

Publicado en: Advances in Intelligent Systems and Computing

Evaluating hyper-parameter tuning using random search in support vector machines for software effort estimation

Descripción:

Studies in software effort estimation (SEE) have explored the use of hyper-parameter tuning for machine learning algorithms (MLA) to improve the accuracy of effort estimates. In other contexts random search (RS) has shown similar results to grid search, while being less computationally-expensive. In this paper, we investigate to what extent the random search hyper-parameter tuning approach affects the accuracy and stability of support vector regression (SVR) in SEE. Results were compared to those obtained from ridge regression models and grid search-tuned models. A case study with four data sets extracted from the ISBSG 2018 repository shows that random search exhibits similar performance to grid search, rendering it an attractive alternative technique for hyper-parameter tuning. RS-tuned SVR achieved an increase of 0.227 standardized accuracy (SA) with respect to default hyper-parameters. In addition, random search improved prediction stability of SVR models to a minimum ratio of 0.840. The analysis showed that RS-tuned SVR attained performance equivalent to GS-tuned SVR. Future work includes extending this research to cover other hyper-parameter tuning approaches and machine learning algorithms, as well as using additional data sets.

Tipo de publicación: Conference Paper

Publicado en: Proceedings of the 16th ACM International Conference on Predictive Models and Data Analytics in Software Engineering

Técnicas de ajuste de hiperparámetros de algoritmos de aprendizaje automático para la estimación de esfuerzo: un mapeo de literatura

Descripción:

Distintos algoritmos de aprendizaje automático (ML) han sido utilizados para apoyar los procesos de estimación de esfuerzo de desarrollo del software (EES). Sin embargo, el desempeño de estos algoritmos puede verse impactado por varios factores, uno de los cuales es la escogencia de los hiperparámetros. En los últimos años, el ajuste de hiperparámetros ha surgido como un área de investigación de interés para la EES que busca optimizar el desempeño de los modelos de ML. En este trabajo, realizamos un mapeo sistemático de literatura para caracterizar las técnicas de ajuste automático de hiperparámetros de algoritmos de ML utilizados en el contexto de la EES. Presentamos los resultados de 67 estudios identificados entre el 2010 y el 2019 y clasificamos las técnicas de ajuste de hiperparámetros, los algoritmos de ML y los conjuntos de datos dónde se han aplicado. Asimismo, reportamos los retos reportados como mapa de ruta para futuras investigaciones en el área.

Tipo de publicación: Journal Article

Publicado en: Revista Ibérica de Sistemas e Tecnologias de Informação

Hyper-Parameter Tuning of Classification and Regression Trees for Software Effort Estimation

Descripción:

Classification and regression trees (CART) have been reported to be competitive machine learning algorithms for software effort estimation. In this work, we analyze the impact of hyper-parameter tuning on the accuracy and stability of CART using the grid search, random search, and DODGE approaches. We compared the results of CART with support vector regression (SVR) and ridge regression (RR) models. Results show that tuning improves the performance of CART models up to a maximum of 0.153 standardized accuracy and reduce its stability radio to a minimum of 0.819. Also, CART proved to be as competitive as SVR and outperformed RR.

Tipo de publicación: Book Chapter

Publicado en: Advances in Intelligent Systems and Computing

Measuring Students’ Source Code Quality in Software Development Projects Through Commit-Impact Analysis

Descripción:

Evaluating the quality of software engineering projects in university courses is challenging because it evolves over time and is a time consuming task. Students applying software quality principles need early and constant feedback on their projects to improve their technical competence as software developers. We conducted a case study to explore whether student’ changes have an impact on the project quality by mining a Git repository. We analyzed a total of 2253 changes (commits) from an undergraduate software engineering project to understand the impact on quality of each change measuring metrics (complexity, duplication, maintainability, and security) mined from the repository. This analysis allowed us to identify from students’ contributions challenges and improvement opportunities in engineering practices. As future work, we plan to analyze more projects and extend our analysis with more software metrics.

Tipo de publicación: Book Chapter

Publicado en: Advances in Intelligent Systems and Computing

Measuring students' contributions in software development projects using Git metrics

Descripción:

Many courses in the software engineering area are centered around team-based project development. Evaluating these projects is a challenge due to the difficulty of measuring individual student contributions versus team contributions. The adoption of distributed version control systems like Git enables the measurement of students' and teams' contributions to the project. In this work, we analyze the contributions within five software development projects from undergraduate courses that used project-based learning. For this, we generate visualizations of aggregated Git metrics using inequality indexes and inter-decile ratios, which offer insights into the practices and processes followed by students and teams throughout the project development. This approach allowed us to identify both inequality among students' contributions and development processes with a non-steady pace, rendering a useful feedback tool for instructors and students during the development of the project. Further studies can be conducted to assess the complexity and value of students' contributions by analyzing their source code commits and other software artifacts.

Tipo de publicación: Conference Paper

Publicado en: 2020 XLVI Latin American Computing Conference (CLEI)

Agent-Oriented Approaches for Model-Based Software Testing: A Mapping Study

Descripción:

Automated software testing reduces manual work, increases test coverage, and improves error detection. Model-Based Testing (MBT) is a testing approach that automatically executes test cases generated from a model representing the system behavior. The parallelization of MBT process stages, such as model creation and exploration, or test case generation and execution, could improve its scalability to handle complex systems. Agent-Oriented Software Testing (AOST) refers to the use of intelligent agents focusing on the automation of complex testing tasks. AOST could improve the testing process by providing a high level of decomposition, independence, parallel activation, intelligence, autonomy, sociality, mobility, and adaptation. In this work, we conducted a systematic mapping study of the existing AOST approaches for MBT. We identified 36 primary studies over the period 2002–2020. We classified agent approaches according to the MBT process stages, and tasks and roles covered as part of their implementation. We found 25 implementations of AOST approaches in the test case generation stage, 20 in the test execution, 10 in the model construction, and 3 in the test criteria selection. Studies reported the test generator role 25 times, test executor role 20 times, and the monitor-coordinator of activities 12 times. Additional studies to understand the benefits of agent-oriented approaches for model-based testing are required.

Tipo de publicación: Book Chapter

Publicado en: Advances in Intelligent Systems and Computing

Comparison of End-to-End Testing Tools for Microservices: A Case Study

Descripción:

Microservices has emerged as a architectural style that provides several benefits but also poses some challenges. One such challenge is testability, since an application may have hundreds or thousands of services operating together, and each of them needs to be tested as they evolve. To overcome this challenge, test automation is key, and together with it, the use of effective and efficient testing tools. Hence, we aim to contribute to this area by evaluating two tools that support end-to-end (E2E) testing of microservices. E2E tests allow to verify if the system works well as a whole (particularly relevant for systems made up of microservices). In this work, we first surveyed E2E testing tools reported in academic literature and by industry practitioners. Then, we applied the IEEE 14102-2010 standard to evaluate those tools. The two top-rated tools, Jaeger and Zipkin, were selected for further evaluation of their effectiveness and efficiency. Results from our case study reveal that Jaeger is more efficient and effective than Zipkinin terms of execution and failure detection times, as well as information provided to detect faults, severity and coverage.

Tipo de publicación: Book Chapter

Publicado en: Advances in Intelligent Systems and Computing

Blockchain para la seguridad de la Internet de las Cosas: un estudio terciario

Descripción:

La Internet de las cosas (IoT) y Blockchain son dos tecnologías que han tenido un crecimiento acelerado en los últimos años. Su integración permite aprovechar las cualidades de seguridad de Blockchain en el contexto de los datos producidos por la IoT. El objetivo de este estudio terciario es sintetizar el conocimiento existente sobre Blockchain aplicado a la seguridad de la IoT. Para ello se realizó un mapeo sistemático de literatura sobre 45 estudios secundarios publicados entre el 2017 y el 2019. Se identificaron 25 áreas, 17 usos, 41 frameworks, 38 beneficios y 40 desafíos. Los resultados indican que el área de aplicación más reportada es la Internet de la salud, el uso más común es el almacenamiento de datos, y el framework más usado es Ethereum. El mayor beneficio es la seguridad de los datos y el principal desafío es la escalabilidad.

Tipo de publicación: Journal Article

Publicado en: Revista Ibérica de Sistemas e Tecnologias de Informação

A comparative study on measuring software functional size to support effort estimation in agile

Descripción:

Software effort estimation models based on functional size allow software organizations to plan their development projects. A large number of organizations have adopted agile processes, but there is little evidence on the adoption of functional sizing methods to support software effort estimation in agile contexts. In this study, we compare four functional size estimation methods as the basis for effort estimation in the context of a startup company that develops mobile applications using an agile methodology. Measurements of software size, expressed in User Story Points (USP), Use Case Points (UCP), IFPUG Function Points (UFP), and COSMIC Function Points (CFP), were taken for a set of requirements from one project in the company. Effort estimation models were then derived from these measurements, using regression, and their accuracy was determined by the Mean Magnitude of Relative Error (MMRE) and Mean Balanced Relative Error (MBRE). We obtained the following MMRE results for each functional sizing method: 0,86 for UCP, 0,36 for USP, 0,36 for UFP and 0,22 for CFP, and the following MBRE results: 0,98 for UCP, 0,45 for USP, 0,53 for UFP and 0,35 for CFP. The effort estimation model based on COSMIC function points turned out to be the most accurate in the context of the software organization under study. Additionally, convertibility models between sizing measurements were generated to allow the organization to convert its historical measurements into any other software size measure, without having to perform the counting process of the target method.

Tipo de publicación: Conference Paper

Publicado en: CIbSE

Técnicas de aprendizaje automático para mejorar el rendimiento de aplicaciones web: un mapeo sistemático de literatura

Descripción:

La proliferación de las aplicaciones web ha generado una cultura cada vez más demandante por parte de los usuarios. Se estima que un usuario promedio espera solo dos segundos antes de abandonar una aplicación web, si esta no responde dentro de ese lapso. Por esta razón, la creación de sitios web eficientes se ha convertido en una prioridad para los desarrolladores. El objetivo de este estudio es identificar las principales técnicas de aprendizaje automático utilizadas para mejorar el rendimiento de las aplicaciones web, sus indicadores de desempeño, usos, y capas de aplicación. Para esto se realizó un mapeo sistemático de literatura que identificó 37 estudios primarios. Los resultados indican que los árboles de decisión son el algoritmo más explorado para mejorar el rendimiento de las aplicaciones, seguido por las redes neuronales y las máquinas de soporte vectorial. Los indicadores más utilizados para medir el rendimiento de las aplicaciones web fueron el uso de caché, el tiempo del primer byte y el tiempo de carga de página. El principal uso de aprendizaje automático reportado está en la predicción efectiva de futuras acciones de un usuario durante su interacción con una aplicación web para aśı pre cargar recursos necesarios en memoria antes que sean requeridos. Las capas de infraestructura y back-end fueron las que más reportaron el uso de aprendizaje automático para mejorar el rendimiento.

Tipo de publicación: Conference Paper

Publicado en: CIbSE

Herramientas para pruebas automatizadas de seguridad en aplicaciones Web: Un mapeo sistemático de la literatura

Descripción:

Las herramientas utilizadas para automatizar las pruebas de seguridad en aplicaciones Web son esenciales para detectar vulnerabilidades y prevenir ataques cibernéticos. En este estudio identificamos herramientas reportadas entre el 2006 y el 2019 para probar la seguridad de aplicaciones Web. Cada una de las herramientas es clasificada en términos de los tipos de vulnerabilidades que prueban. Para ello, realizamos un mapeo sistemático de la literatura en el que se analizaron 63 estudios primarios, de los cuales identificamos 66 herramientas utilizadas para realizar pruebas automatizadas de seguridad. Las herramientas se clasificaron según los tipos de la metodoloǵıa de pruebas de seguridad para determinar vulnerabilidades del proyecto abierto de seguridad en aplicaciones Web (OWASP). La categoŕıa de pruebas para detectar vulnerabilidades más común fue la de Input Validation Testing (4.8) con 55 herramientas, seguido de las pruebas de Configuration and Deployment Management Testing (4.3), Session Management Testing (4.7), y Client Side Testing (4.12) con 15 herramientas utilizadas cada una. Los tipos de pruebas más reportados fueron los de la categoŕıa Input Validation Testing (4.8). En este caso SQL Injection (4.8.5) con 40 herramientas, Cross-Site Scripting (4.8.2) con 30 herramientas, y Testing for HTTP Incoming Requests (4.8.17) con 19 herramientas utilizadas.

Tipo de publicación: Conference Paper

Publicado en: CIbSE

Automatic Classification of Web News: A Systematic Mapping Study

Descripción:

The number of news articles published on the Web has had a dramatic increase. News websites are overwhelmed daily with articles, and their processing and classification is a challenge. Reading news from the web has become an important citizen’s information source, and its classification can show relevant information about social or cultural patterns on society. In this context, techniques that can automatically analyze and classify news articles are essential. In particular, data mining and machine learning techniques have been applied for the classification of web news, as they can detect structural patterns based on documents characteristics. Their use requires specialized text processing and summarizing techniques. The objective of this study is to characterize data mining and machine learning techniques used for the web news classification, the datasets used, and the evaluation metrics. We performed a systematic literature mapping of 51 primary studies published between 2000 and 2019. We found that the most used techniques fall into these paradigms: clustering, support vector machines and generative models. Also, 33 studies used online data extracted from Internet’s news web pages, while 25 downloaded a previously published dataset. The most common metric is the F-measure, with 25 reports. In summary, several data mining and machine learning techniques have been applied to the automatic classification of web news, showing some trends regarding the techniques, datasets, and metrics.

Tipo de publicación: Book Chapter

Publicado en: Advances in Intelligent Systems and Computing

Comparative study of Random Search Hyper-Parameter Tuning for Software Effort Estimation

Descripción:

Empirical studies on software effort estimation have employed hyper-parameter tuning algorithms to improve model accuracy and stability. While these tuners can improve model performance, some might be overly complex or costly for the low dimensionality datasets used in SEE. In such cases a method like random search can potentially provide similar benefits as some of the existing tuners, with the advantage of using low amounts of resources and being simple to implement. In this study we evaluate the impact on model accuracy and stability of 12 state-of-the-art hyper-parameter tuning algorithms against random search, on 9 datasets of the PROMISE repository and 4 sub-datasets from the ISBSG R18 dataset. This study covers 2 traditional exhaustive tuners (grid and random searches), 6 bio-inspired algorithms, 2 heuristic tuners, and 3 model-based algorithms. The tuners are used to configure support vector regression, classification and regression trees, and ridge regression models. We aim to determine the techniques and datasets for which certain tuners were 1) more effective than default hyper-parameters, 2) more effective than random search, 3) which models(s) can be considered "the best" for which datasets. The results of this study show that hyper-parameter tuning was effective (increased accuracy and stability) in 862 (51%) of the 1,690 studied scenarios. The 12 state-of-the-art tuners were more effective than random search in 95 (6%) of the 1,560 studied (non-random search) scenarios. Although not effective in every dataset, the combination of flash tuning, logarithm transformation and support vector regression obtained top ranking in accuracy on the highest amount (8 out of 13) of datasets. Hyperband tuned ridge regression with logarithm transformation obtained top ranking in accuracy on the highest amount (10 out of 13) of datasets. We endorse the use of random search as a baseline for comparison for future studies that consider hyper-parameter tuning.

Tipo de publicación: Conference Paper

Publicado en: International Conference on Predictable Models and Data Analytics in Software Engineering (PROMISE 21).

Using git metrics to measure students' and teams' code contributions in software development projects

Descripción:

Many software engineering courses are centered around team-based project development. Analyzing the source code contributions during the projects’ development could provide both instructors and students with constant feedback to identify common trends and behaviors that can be improved during the courses. Evaluating course projects is a challenge due to the difficulty of measuring individual student contributions versus team contributions during the development. The adoption of distributed version control sys-tems like git enable the measurement of students’ and teams’ contributions to the project.In this work, we analyze the contributions within eight software development projects,with 150 students in total, from undergraduate courses that used project-based learning.We generate visualizations of aggregated git metrics using inequality measures and the contribution per module, which offer insights into the practices and processes followed by students and teams throughout the project development. This approach allowed us to identify inequality among students’ contributions, the modules where students con-tributed, development processes with a non-steady pace, and integration practices render-ing a useful feedback tool for instructors and students during the project’s development.Further studies can be conducted to assess the quality, complexity, and ownership of the contributions by analyzing software artifacts.

Tipo de publicación: Journal Article

Publicado en: CLEI Electronic Journal

Desarrollo y evaluación de un prototipo de aplicación móvil para la administración de traslados de pacientes COVID-19

Descripción:

En este artículo presentamos un prototipo de una aplicación móvil para la administración de los traslados de pacientes COVID-19 realizados por el equipo PRIME del centro médico CEACO en Costa Rica. Describimos el diseño de la aplicación, los aspectos técnicos relacionados con su implementación, y los resultados de la evaluación de la experiencia de usuario realizada por los miembros del equipo PRIME. La evaluación del prototipo muestra la utilidad de la aplicación móvil para apoyar los procesos del equipo PRIME y los resultados del estudio de experiencia de usuario indican una percepción muy positiva para las categorías de atracción, trasparencia, eficiencia, controlabilidad y estimulación.

Tipo de publicación: Journal Article

Publicado en: Revista Ibérica de Sistemas e Tecnologias de Informação

Data Mining and Machine Learning Techniques for Bank Customers Segmentation: A Systematic Mapping Study

Descripción:

Data mining and machine learning techniques analyze and extract useful information from data sets in order to solve problems in different areas. For the banking sector, knowing the characteristics of customers entails a business advantage since more personalized products and services can be offered. The goal of this study is to identify and characterize data mining and machine learning techniques used for bank customer segmentation, their support tools, together with evaluation metrics and datasets. We performed a systematic literature mapping of 87 primary studies published between 2005 and 2019. We found that decision trees and linear predictors were the most used data mining and machine learning paradigms in bank customer segmentation. From the 41 studies that reported support tools, Weka and Matlab were the two most commonly cited. Regarding the evaluation metrics and datasets, accuracy was the most frequently used metric, whereas the UCI Machine Learning repository from the University of California was the most used dataset. In summary, several data mining and machine learning techniques have been applied to the problem of customer segmentation, with clear tendencies regarding the techniques, tools, metrics and datasets.

Tipo de publicación: Book Chapter

Publicado en: Advances in Intelligent Systems and Computing

Students Projects' Source Code Changes Impact on Software Quality Through Static Analysis

Descripción:

Monitoring and examining source code and quality metrics is an essential task in software development projects. Still, it is challenging to evaluate for educational projects due to the time and effort required by instructors, and constant change during the software project evolution. In this paper, we used an automated approach to analyze source code and quality metrics’ evolution and impact in software engineering projects using static code analysis on each software change (commits and merges). We examined five undergraduate software engineering projects’ changed modules, compilability, and source code and quality metrics (size, complexity, duplication, maintainability, and security). In total, we assessed 12,103 changes from 103 students contributing to the projects. Our approach allowed us to identify students’ project trends in the impact of the source code changes, providing insights into behaviors such as technology knowledge deficiencies, issues in continuous integration practices, and software quality degradation. We believe that the early, constant feedback on student software engineering project quality can help instructors improve their courses and students enhance their development practices. Tracking of source code evolution could be done via static analysis and instructors could use the analysis results for teaching.

Tipo de publicación: Book Chapter

Publicado en: Communications in Computer and Information Science

Agent-based tool for model-based test case generation and execution

Descripción:

Model-Based Testing (MBT) aims to automate test case generation and execution from abstract models representing the behavior of the system under test (SUT). MBT stages parallelization and monitoring could improve the overall process performance in complex systems and resource shortages. Agent-based software testing (ABST) consists of intelligent agents applied to complex software testing tasks. ABST approaches could enhance software testing due to multi-agent systems autonomy, independence, parallel activation, and decision-making features. This study presents an agent-based tool for MBT case generation and execution. The tool comprises two components: the MBT component based on the MBT4J tool and a JADE multi-agent component. The multi-agent component implements a coordinator agent (CA), a monitor agent (MA), and several test case generation and execution agents (TGEA). The responsibilities of agents include test case planning, generation and execution, and results synthesis. The results suggest that low levels of TGEA achieve acceptable coverage metrics in straightforward models. Productivity provides the best results in the first execution cycles.

Tipo de publicación: Conference Paper

Publicado en: 2021 IEEE V Jornadas Costarricenses de Investigación en Computación e Informática (JoCICI)

Desarrollo de un prototipo de herramienta para automatizar el conteo de puntos de función SNAP de la interfaz gráfica

Descripción:

El principal objetivo de medir el proceso de desarrollo de software es apoyar la toma de decisiones gerenciales. Estimar el tamaño, esfuerzo y tiempo que se necesita para producir un software es una tarea importante dentro de todo proceso de medición. Las estimaciones incorrectas pueden causar pérdidas económicas importantes a las empresas que desarrollen software . Un enfoque automático de medición de tamaño del software no funcional podría apoyar el proceso de estimación generando datos históricos en un menor tiempo, mejorando eventualmente la calidad de las estimaciones. En este trabajo se presentan los resultados de la creación y evaluación de un prototipo de herramienta de software que, calcula automáticamente el tamaño de los requisitos no funcionales (NFR por sus siglas en inglés) de la subcategoría de Interfaz de Usuario 2.1 del método SNAP (Software Non-functional Assessment Process). Para su desarrollo e implementación se utilizó la metodología Ciencias del Diseño basándose en el Modelo del Ciclo de Diseño, se seleccionó un conjunto de proyectos web, de los cuales se obtuvieron los requerimientos no funcionales. Posteriormente, se realizó un conteo manual de dichos requerimientos y se evaluó la exactitud de la herramienta en comparación con el conteo manual. Los resultados presentan un nivel de exactitud del 100% en el conteo de puntos SNAP para la categoría 2.1 interfaz gráfica. Sin embargo, hay ciertas diferencias en la detección correcta de propiedades de la interfaz de usuario que, aunque no afectaron a la exactitud final de la estimación, sí son incorrectas. Este trabajo aporta evidencia de la viabilidad del uso de un prototipo de herramienta de software que, por medio de reglas de mapeo aplicadas en el código ya desarrollado en HTML y CSS, puede automatizar el conteo de puntos SNAP para la subcategoría 2.1 interfaz gráfica.

Tipo de publicación: Conference Paper

Publicado en: V Congreso Internacional en Inteligencia Ambiental, Ingeniería de Software, Salud Electrónica y Móvil - AmITIC 2022

How Have We Researched Developers’ Contributions in Software Engineering? A Systematic Mapping Study

Descripción:

Developers contribute to different technical and non-technical tasks throughout the software development life cycle, such as implementing and refactoring code, reviewing changes, documenting, testing, communicating, and collaborating. Contribution assessment research can help understand development phenomena better, motivate developers, and improve software engineering projects in industrial, open-source, and academic settings. As the body of work grows, it becomes worthwhile to aggregate evidence to standardize classifications, consolidate findings, and identify research gaps. This paper characterizes how software engineering research has studied developers’ contributions to projects. We conducted a systematic mapping study of 166 primary papers that assessed developer contributions characterizing the contribution types, research topics, research design practices, measurement constructs, assessment approaches, contexts under study, threats to validity, and challenges. Our findings show that contribution research is broad in software engineering but mainly focused on product-related contributions that mine measures from activities. Yet, research needs to consider more comprehensive construct measures and robust approaches to recognize the multi-faceted, nuanced, and complex nature of development work, without overlooking contributions. At the same time, there is a need for approach applicability to help future research and technology transfer. Researchers, tool designers, and adopters can leverage our results to motivate future software contribution-related work.

Tipo de publicación: Journal Article

Development of a prototype tool to automate the counting of SNAP function points of the graphical interface

Descripción:

In this work we present the results of the creation and evaluation of a tool prototype that automatically calculates the size of the non-functional requirements (NFR) of the User Interface 2.1 subcategory of the SNAP (Software Non-functional Requirements) method. Assessment Process). We evaluated the accuracy of the tool compared to manual counting and results show an accuracy level of 100% in SNAP point counting for category 2.1 graphical interface, although with some differences in the correct detection of user interface properties. This work demonstrates the feasibility of a software tool to automate the counting of SNAP points.

Tipo de publicación: Conference Paper

Publicado en: 2022 V Congreso Internacional en Inteligencia Ambiental, Ingeniería de Software y Salud Electrónica y Móvil (AmITIC)

Plataformas de telerehabilitación para el cáncer de mama: un mapeo de literatura

Descripción:

El cáncer ha emergido como un problema de salud pública. Uno de los tipos más comunes de cáncer en mujeres es el de mama. Los tratamientos modernos de cáncer han mejorado dramáticamente las tasas de supervivencia y han cambiado la naturaleza del cuidado del cáncer. La telerehabilitación es una herramienta innovadora que ha demostrado mejoras en la eficiencia de los servicios de salud. Dadas las limitaciones de acceso a los servicios de rehabilitación, la telerehabilitación presenta oportunidades para ampliar la cobertura de estos servicios. La caracterización de las plataformas de servicios de telerehabilitación para el cáncer de mama permite identificar el alcance de los servicios de estas plataformas en la atención de pacientes y los posibles retos asociados a su uso. En este trabajo se realiza un mapeo de literatura que caracteriza las plataformas de servicios de telerehabilitación para el cáncer de mama. El artículo presenta la caracterización de las plataformas reportadas en 22 estudios identificados entre el 2014 y el 2021, identificando las funcionalidades que ofrecen, cómo han sido implementadas y evaluadas, y los retos reportados como mapa de ruta para futuras investigaciones.

Tipo de publicación: Conference Paper

Publicado en: 2023 18th Iberian Conference on Information Systems and Technologies (CISTI)

Sitio web

https://www.researchgate.net/profile/Christian_Quesada-Lopez