Modelo de clasificación de requisitos de software mediante la aplicación de técnicas de aprendizaje automático
Loading...
Date
2022
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Pontificia Universidad Javeriana Cali
Abstract
La definición de los requisitos del lenguaje natural es un proceso que puede llevar mucho tiempo en grandes proyectos de software. Clasificar los requisitos de software de lenguaje natural en funcionales y no funcionales, y al mismo tiempo categorías de no funcionales como rendimiento, compatibilidad, usabilidad, confiabilidad, seguridad, mantenibilidad y portabilidad, es una tarea que contribuye a la definición de requisitos para que proyectos de software sean exitosos. Esta tarea de clasificación requiere el juicio de un experto y requiere mucho tiempo, siendo un desafío porque es un proceso manual. La automatización de la clasificación de requisitos es una estrategia para agilizar las actividades de los ingenieros de requisitos. Estudios relacionados muestran la existencia de escasos conjuntos de datos de requisitos de software, lo que dificulta promover, crear y mejorar modelos predictivos que faciliten las tareas de clasificación automática de requisitos, además, estos escasos conjuntos de datos en la mayoría de ellos están definidos en inglés, por lo tanto, los modelos predictivos desarrollados no se pueden utilizar directamente para proyectos en diferentes idiomas porque la gramática varía con el idioma. En vista de lo anterior, este trabajo se enfoca en generar modelos predictivos de clasificación de requisitos de software de lenguaje natural en funcionales y no funcionales, y al mismo tiempo las categorías de no funcionales de acuerdo con el estándar ISO/IEC 25010, para contribuir al desarrollo de estudios que apliquen técnicas de aprendizaje automático en el contexto de la ingeniería de requisitos para proyectos desarrollados en español. Los resultados muestran un indicador F1 superior al 60% para la mayoría de los experimentos en donde se utilizó el aumento artificial de información. El estudio se realizó con una muestra de más de 2800 requisitos de software descritos en español que previamente fueron traducidos y consolidados a partir de varios conjuntos de datos en inglés ampliamente utilizados en otras investigaciones, de los cuales 1887 requisitos fueron etiquetados manualmente. La traducción al español se realizó a través de la herramienta de traducción automática de Google y posteriormente, la traducción se verificó manualmente. Este conjunto de datos en español estará disponible para la comunidad científica.
Description
item.page.descriptioneng
The definition of natural language requirements is a process that can be time-consuming in large software projects. Classifying natural language software requirements into functional and non-functional classes, and at the same time non-functional sub-classes such as performance, compatibility, usability, reliability, security, maintainability, and portability, is a task that contributes to the requirements definition for successful software projects. This classification task requires expert judgment and is time-consuming, being challenging because it is a manual process. Automating requirements classification is a strategy to streamline the activities of requirements engineers. Related studies show the existence of scarce software requirements data sets, which makes it difficult to promote, create and improve predictive models that facilitate the tasks of automatic requirements classification, in addition, these scarce data sets in most of them are defined in English, therefore, the predictive models developed cannot be used directly for projects in different languages because the grammar varies with the language. In view of the above, this work focuses on generating predictive models of natural language software requirements classification into functional and non-functional classes, and at the same time non-functional sub-classes according to the ISO / IEC 25010 standard, to contribute to the development of studies that apply machine learning techniques in the requirements engineering context for projects developed in Spanish. The results shown an F1-Score above 60% for all the five experiments where oversampling was used. The study was conducted with a sample of more than 2,800 software requirements described in Spanish that were previously translated and consolidated from multiple data sets in English widely used in other research, of which 1,887 requirements were manually tagged. The translation into Spanish was done through Google's automatic translation tool and subsequently, the translation was verified manually. This data set in Spanish will be available to the scientific community.
Keywords
Aprendizaje automático, Clasificación de requisitos, Repositorio de requisitos de software en español