Consistencia lingüística: métrica para evaluar la calidad semántica entre los requisitos funcionales y el código fuente

El desarrollo de software se debe ver como proceso más que como una simple codificación. En este proceso, a los requisitos funcionales se les transforma su sintaxis en lenguaje controlado sin afectar la semántica del sistema de software. Sin embargo, debido a algunas prácticas de los desarrolladores...

Full description

Autores:
Botero Restrepo, Carlos Alberto
Tipo de recurso:
Work document
Fecha de publicación:
2020
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/78339
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/78339
Palabra clave:
000 - Ciencias de la computación, información y obras generales::003 - Sistemas
Consistencia lingüística
métrica
distancia semántica
calidad de software
código fuente
Linguistic consistency
metric
semantic distance
quality software
source code
Rights
openAccess
License
Reconocimiento 4.0 Internacional
id UNACIONAL2_77a0a766d7aebc9e26e0519c70d4cf61
oai_identifier_str oai:repositorio.unal.edu.co:unal/78339
network_acronym_str UNACIONAL2
network_name_str Universidad Nacional de Colombia
repository_id_str
dc.title.spa.fl_str_mv Consistencia lingüística: métrica para evaluar la calidad semántica entre los requisitos funcionales y el código fuente
dc.title.alternative.spa.fl_str_mv Linguistic consistency: Metric to evaluate semantic quality between functional requirements and source code
title Consistencia lingüística: métrica para evaluar la calidad semántica entre los requisitos funcionales y el código fuente
spellingShingle Consistencia lingüística: métrica para evaluar la calidad semántica entre los requisitos funcionales y el código fuente
000 - Ciencias de la computación, información y obras generales::003 - Sistemas
Consistencia lingüística
métrica
distancia semántica
calidad de software
código fuente
Linguistic consistency
metric
semantic distance
quality software
source code
title_short Consistencia lingüística: métrica para evaluar la calidad semántica entre los requisitos funcionales y el código fuente
title_full Consistencia lingüística: métrica para evaluar la calidad semántica entre los requisitos funcionales y el código fuente
title_fullStr Consistencia lingüística: métrica para evaluar la calidad semántica entre los requisitos funcionales y el código fuente
title_full_unstemmed Consistencia lingüística: métrica para evaluar la calidad semántica entre los requisitos funcionales y el código fuente
title_sort Consistencia lingüística: métrica para evaluar la calidad semántica entre los requisitos funcionales y el código fuente
dc.creator.fl_str_mv Botero Restrepo, Carlos Alberto
dc.contributor.advisor.spa.fl_str_mv Zapata Jaramillo, Carlos Mario
dc.contributor.author.spa.fl_str_mv Botero Restrepo, Carlos Alberto
dc.contributor.corporatename.spa.fl_str_mv Universidad Nacional de Colombia - Sede Medellín
dc.contributor.researchgroup.spa.fl_str_mv Lenguajes Computacionales
dc.subject.ddc.spa.fl_str_mv 000 - Ciencias de la computación, información y obras generales::003 - Sistemas
topic 000 - Ciencias de la computación, información y obras generales::003 - Sistemas
Consistencia lingüística
métrica
distancia semántica
calidad de software
código fuente
Linguistic consistency
metric
semantic distance
quality software
source code
dc.subject.proposal.spa.fl_str_mv Consistencia lingüística
métrica
distancia semántica
calidad de software
código fuente
dc.subject.proposal.eng.fl_str_mv Linguistic consistency
metric
semantic distance
quality software
source code
description El desarrollo de software se debe ver como proceso más que como una simple codificación. En este proceso, a los requisitos funcionales se les transforma su sintaxis en lenguaje controlado sin afectar la semántica del sistema de software. Sin embargo, debido a algunas prácticas de los desarrolladores, al comparar el código fuente con los requisitos funcionales se encuentran diferencias en los términos, lo que afecta el tiempo del entendimiento, aumenta los costos y vuelve inútiles los recursos que sirven para comprender el sistema de software en la fase de mantenimiento. Existen estudios en los que se resalta la importancia de la comprensión y cohesión con base en el nombramiento del código fuente para que este tenga sentido cuando se lee. Por esto, algunos autores exponen métricas de calidad de software y herramientas que complementan los entornos de desarrollo, para dar sugerencias de nombramiento y velar por su uso. Sin embargo, para el entendimiento del código fuente no se toma en cuenta la documentación ni los modelos. A pesar de que se reconoce la importancia de la documentación, no hay métricas que permitan evaluar cuánto de los modelos está en el código fuente ni de qué manera y, aún con las métricas existentes, la comprensión del código fuente sigue siendo un proceso que tarda más tiempo del esperado en la fase de mantenimiento. Por lo anterior, en esta Tesis de Maestría se propone una métrica de consistencia lingüística, la cual, usando una mezcla de LSA (Análisis semántico latente por sus siglas en inglés) y una adaptación a la distancia de Levenshtein, permite cuantificar la distancia entre el código fuente y los modelos con base en el cambio de terminología. La métrica propuesta se prueba de manera didáctica mediante un juego y un caso de laboratorio, en el que se expone cómo se afecta el entendimiento de un sistema de software cuando los términos cambian y cómo se mide usando la métrica de consistencia lingüística propuesta. Con la métrica propuesta se confirma de manera cuantitativa que el cambio de las palabras afecta el entendimiento del sistema de software, se identifican los cambios que crean mayor deterioro en el entendimiento del código fuente y se muestra que la terminología utilizada en la educción de requisitos y plasmada en los modelos se debe tomar como recurso fundamental.
publishDate 2020
dc.date.accessioned.spa.fl_str_mv 2020-08-31T17:04:55Z
dc.date.available.spa.fl_str_mv 2020-08-31T17:04:55Z
dc.date.issued.spa.fl_str_mv 2020-08-28
dc.type.spa.fl_str_mv Documento de trabajo
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/workingPaper
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_8042
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/WP
format http://purl.org/coar/resource_type/c_8042
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.unal.edu.co/handle/unal/78339
url https://repositorio.unal.edu.co/handle/unal/78339
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv J. Acosta. “Información semántica, distancias semánticas y conceptos”, Revista interuniversitaria de formación del profesorado Buenos Aires, Vol. 4, pp. 71-78. 1989.
M. Allamanis, E. T. Barr, C. Bird, C. Sutton. “Learning natural coding conventions”, in International Symposium on Foundations of Software Engineering (FSE). ACM, New York, pp. 281-293, 2014.
E. Avidan, D. G. Feitelson. “Effects of Variable Names on Comprehension: An Empirical Study”, in IEEE International Conference on Program Comprehension, Jerusalem, pp. 55-65. 2017.
D. Binkley, M. Hearn, D. Lawrie. “Improving identifier informativeness using part of speech information”, in 8th Working Conference on Mining Software Repositories, Honolulu, pp. 203–206, 2011.
S. Blinman, A. Cockburn. “Program comprehension: Investigating the effects of naming style and documentation”, in 6th Australasian User Interface Conf, Newcastle. pp. 73–78, 2005.
B. Boehm, V. Basili. “Software Defect Reduction Top 10 List”. IEEE Computer, Vol. 34, pp. 135-137. 2001.
L. C. Briand, J. W. Daly y J. Wüst. “A Unified Framework for Cohesion Measurement in Object-Oriented Systems”, in Fourth International Software Metrics Symposium, Albuquerque, pp. 43-53, 1997.
S. Blinman, A. Cockburn. “Program comprehension: Investigating the effects of naming style and documentation”. In 6th Australasian User Interface Conf, Newcastle. pp. 73–78, 2005.
L. Castro, F. Baiao, G. Guizzardi. “A survey on Conceptual Modeling from a Linguistic Point of View”. Relatórios Técnicos do Departamento de Informática Aplicada da UNIRIO, Vol. 3, pp. 3-12. 2009.
A. Ene, A. Ene. “An application of the Levenshtein algorithm in vocabulary learning”, in International conference on electronics, Computers and artificial intelligence, Targoviste , pp. 1-4, Junio, 2017.
L. Etzkorn, H. Delugach. “Towards a semantic metrics suite for object-oriented design Proceedings”, in 34th International Conference on Technology of Object-Oriented Languages and Systems- TOOLS 34, Santa Barbara, pp. 71-80, 2000.
S. Fahmi, H. J. Choi. "Software Reverse Engineering to Requirements”, in International Conference on Convergence Information Technology, Gyeongju, pp. 2199-2204, 2007.
M. C. Gómez. “Definición de un método para el diseño de juegos orientados al desarrollo de habilidades gerenciales como estrategia de entrenamiento empresarial”, Tesis de Maestría, Maestría en Ingeniería Administrativa, Universidad Nacional, Colombia. 2010.
R. Gutiérrez. “Análisis Semántico Latente: ¿Teoría psicológica del significado?”, Revista signos, Vol. 38, N. 59, pp. 303-323, 2005.
G. Jorge y Botana. “El Análisis de la Semántica Latente y su aportación a los estudios de Usabilidad” Revista electrónica: No solo usabilidad: revista sobre personas, diseño y tecnología, Vol. 5, N. 5, 2006.
B. Kitchenham, S. Charters. “Guidelines for performing Systematic Literature Reviews in Software Engineering”, Keele University and Durham University Joint Report , 2007-01.
B. Kitchenham, R. Pretorius, D. Budgen, O. P. Brereton, M. Turner, M. Niazi, S. Linkman. “Systematic literature reviews in software engineering--a tertiary study,” Information and Software Technology, Vol. 52, N. 8, pp. 792-805. 2010.
D. Marcilio, R. Bonifacio, E. Monteiro, E. D. Canedo, G. Pinto. “Are Static Analysis Violations Really Fixed? A Closer Look at Realistic Usage of SonarQube” IEEE/ACM 27th in International Conference on Program Comprehension, Montreal, pp. 209-219, 2019.
G. Miller. “WordNet: a lexical database for English” Communications of the ACM, Vol. 38, pp. 39-41, 1995.
O. Pastor, J. C. Molina. “Model-Driven Architecture in practice: A Software Production Environment Based on Conceptual Modeling” Springer, New York, 2007.
L. H. Rosenberg, S. B. Sheppard. “Metrics in software process assessment, quality assurance and risk assessment”, in IEEE 2nd International Software Metrics Symposium, London, pp. 10-16, 1994.
J. J. Siegmund. “Program Comprehension: Past, Present, and Future”, in IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, Suita, Vol. 5, pp. 13-20, 2016.
K. Sun, Y. Ji, L. Rui, X. Qiu. “An improved method for measuring concept semantic similarity combining multiple metrics”, in 5th IEEE International Conference on Broadband Network & Multimedia Technology, Beijing, pp. 268-272, 2013.
R. Tiarks. “What Programmers Really Do: An Observational Study”. Softwaretechnik-Trends, Vol. 31, pp. 36-37. 2011.
R. Venegas. “Análisis Semántico Latente: una panorámica de su desarrollo”, Revista signos, Vol. 36, N. 53, pp. 121-138, 2003.
A. Von Mayrhauser, M. Vans, A. Howe. “Program Understanding Behaviour during Enhancement of Large-scale Software”. Journal of Software Maintenance: Research and Practice, Vol. 9, pp. 299-327. 1997.
Y. Wang, C. Wang, X. Li, S. Yun, M. Song. “How are identifiers named in open source software? About popularity and consistency”. International Journal of Computer and Information Technology, Vol. 3, pp. 616-625. 2014.
E. J. Weyuker. “Evaluating Software Complexity Measures,” IEEE Transactions on Software Engineering, Vol. 14, pp. 1357-1365. 1988.
C. M. Zapata, A. Jaramillo, F. Arango. “Una propuesta para mejorar la completitud de requisitos utilizando un enfoque lingüístico”, Ingeniería & Desarrollo, Vol. 19, N. 19, pp. 1-16. 2006.
C. M. Zapata, B. Manrique. “Transformación de lenguaje natural a controlado en la educción de requisitos: una síntesis conceptual basada en esquemas preconceptuales”. Revista Facultad de Ingeniería Universidad de Antioquia, Vol. 70, N. 70, pp. 132-145. 2014.
C. M. Zapata. “Definición de un esquema preconceptual para la obtención automática de esquemas conceptuales de UML”, Tesis doctoral, Doctorado en ingeniería, Universidad Nacional, Colombia. 2007.
dc.rights.spa.fl_str_mv Derechos reservados - Universidad Nacional de Colombia
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.license.spa.fl_str_mv Reconocimiento 4.0 Internacional
Reconocimiento 4.0 Internacional
dc.rights.spa.spa.fl_str_mv Acceso abierto
dc.rights.uri.spa.fl_str_mv http://creativecommons.org/licenses/by/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv Reconocimiento 4.0 Internacional
Derechos reservados - Universidad Nacional de Colombia
Acceso abierto
http://creativecommons.org/licenses/by/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 101
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.program.spa.fl_str_mv Medellín - Minas - Maestría en Ingeniería - Ingeniería de Sistemas
dc.publisher.branch.spa.fl_str_mv Universidad Nacional de Colombia - Sede Medellín
institution Universidad Nacional de Colombia
bitstream.url.fl_str_mv https://repositorio.unal.edu.co/bitstream/unal/78339/7/1036781610.2020.pdf
https://repositorio.unal.edu.co/bitstream/unal/78339/5/license.txt
https://repositorio.unal.edu.co/bitstream/unal/78339/6/license_rdf
https://repositorio.unal.edu.co/bitstream/unal/78339/8/1036781610.2020.pdf.jpg
bitstream.checksum.fl_str_mv f88b4dc42b3f37202d2294ca2d166fce
e2f63a891b6ceb28c3078128251851bf
1608e658af296c3febc577e957e919bf
a1a8cf81b865cffeec2fa9ba2720f7b4
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
repository.mail.fl_str_mv repositorio_nal@unal.edu.co
_version_ 1814089998006222848
spelling Reconocimiento 4.0 InternacionalReconocimiento 4.0 InternacionalDerechos reservados - Universidad Nacional de ColombiaAcceso abiertohttp://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Zapata Jaramillo, Carlos Marioe4b16e5b-41fd-40e8-ad3a-9257d9d84531-1Botero Restrepo, Carlos Alberto4891be2f-19f0-4b7b-b57c-113da11c26c5Universidad Nacional de Colombia - Sede MedellínLenguajes Computacionales2020-08-31T17:04:55Z2020-08-31T17:04:55Z2020-08-28https://repositorio.unal.edu.co/handle/unal/78339El desarrollo de software se debe ver como proceso más que como una simple codificación. En este proceso, a los requisitos funcionales se les transforma su sintaxis en lenguaje controlado sin afectar la semántica del sistema de software. Sin embargo, debido a algunas prácticas de los desarrolladores, al comparar el código fuente con los requisitos funcionales se encuentran diferencias en los términos, lo que afecta el tiempo del entendimiento, aumenta los costos y vuelve inútiles los recursos que sirven para comprender el sistema de software en la fase de mantenimiento. Existen estudios en los que se resalta la importancia de la comprensión y cohesión con base en el nombramiento del código fuente para que este tenga sentido cuando se lee. Por esto, algunos autores exponen métricas de calidad de software y herramientas que complementan los entornos de desarrollo, para dar sugerencias de nombramiento y velar por su uso. Sin embargo, para el entendimiento del código fuente no se toma en cuenta la documentación ni los modelos. A pesar de que se reconoce la importancia de la documentación, no hay métricas que permitan evaluar cuánto de los modelos está en el código fuente ni de qué manera y, aún con las métricas existentes, la comprensión del código fuente sigue siendo un proceso que tarda más tiempo del esperado en la fase de mantenimiento. Por lo anterior, en esta Tesis de Maestría se propone una métrica de consistencia lingüística, la cual, usando una mezcla de LSA (Análisis semántico latente por sus siglas en inglés) y una adaptación a la distancia de Levenshtein, permite cuantificar la distancia entre el código fuente y los modelos con base en el cambio de terminología. La métrica propuesta se prueba de manera didáctica mediante un juego y un caso de laboratorio, en el que se expone cómo se afecta el entendimiento de un sistema de software cuando los términos cambian y cómo se mide usando la métrica de consistencia lingüística propuesta. Con la métrica propuesta se confirma de manera cuantitativa que el cambio de las palabras afecta el entendimiento del sistema de software, se identifican los cambios que crean mayor deterioro en el entendimiento del código fuente y se muestra que la terminología utilizada en la educción de requisitos y plasmada en los modelos se debe tomar como recurso fundamental.Software development should be seen as a process rather than simple coding. In this process, syntax of functional requirements is transformed into controlled language leaving intact the semantics of the software system. Nonetheless, in software systems—due to some developer practices— differences are found in the terms when comparing the source code with the functional requirements, affecting comprehension times, increasing costs, and rendering useless the resources used for understanding the software system in the maintenance stage. Two factors are highlighted in some studies: Importance of code understanding and cohesion based on naming the source code in a way that makes sense when reading it. For this reason, some authors present software quality metrics and tools for complementing development environments, offering naming suggestions, and ensure their usage. However, documentation and models are left behind for understanding the source code. Although the importance of documentation is recognized, no metrics are available for evaluating how much of the model is in the source code and how it is there. Even with existing metrics, source code understanding remains as a process taking longer than expected in the maintenance stage. For the aforementioned reasons, in this MEng. Thesis, we propose a linguistic consistency metric by using a mixture of LSA (Latent Semantic Analysis) and an adaptation to the Levenshtein distance in order to quantify the distance between the source code and the model based on the change of terminology. The proposed metric is tested in a didactic way by using a game and a lab case, which shows how the understanding of software is affected when the terms change and how it is measured by using the proposed linguistic consistency metric. We confirm in a quantitative way with the proposed metric that changes in wording affect software system understanding, we identify which changes diminish source code understanding, and we show that terminology used in the requirements elicitation and reflected in the models should be taken as a fundamental resource.Línea de Investigación: Ingeniería de softwareMaestría101application/pdfspa000 - Ciencias de la computación, información y obras generales::003 - SistemasConsistencia lingüísticamétricadistancia semánticacalidad de softwarecódigo fuenteLinguistic consistencymetricsemantic distancequality softwaresource codeConsistencia lingüística: métrica para evaluar la calidad semántica entre los requisitos funcionales y el código fuenteLinguistic consistency: Metric to evaluate semantic quality between functional requirements and source codeDocumento de trabajoinfo:eu-repo/semantics/workingPaperinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_8042Texthttp://purl.org/redcol/resource_type/WPMedellín - Minas - Maestría en Ingeniería - Ingeniería de SistemasUniversidad Nacional de Colombia - Sede MedellínJ. Acosta. “Información semántica, distancias semánticas y conceptos”, Revista interuniversitaria de formación del profesorado Buenos Aires, Vol. 4, pp. 71-78. 1989.M. Allamanis, E. T. Barr, C. Bird, C. Sutton. “Learning natural coding conventions”, in International Symposium on Foundations of Software Engineering (FSE). ACM, New York, pp. 281-293, 2014.E. Avidan, D. G. Feitelson. “Effects of Variable Names on Comprehension: An Empirical Study”, in IEEE International Conference on Program Comprehension, Jerusalem, pp. 55-65. 2017.D. Binkley, M. Hearn, D. Lawrie. “Improving identifier informativeness using part of speech information”, in 8th Working Conference on Mining Software Repositories, Honolulu, pp. 203–206, 2011.S. Blinman, A. Cockburn. “Program comprehension: Investigating the effects of naming style and documentation”, in 6th Australasian User Interface Conf, Newcastle. pp. 73–78, 2005.B. Boehm, V. Basili. “Software Defect Reduction Top 10 List”. IEEE Computer, Vol. 34, pp. 135-137. 2001.L. C. Briand, J. W. Daly y J. Wüst. “A Unified Framework for Cohesion Measurement in Object-Oriented Systems”, in Fourth International Software Metrics Symposium, Albuquerque, pp. 43-53, 1997.S. Blinman, A. Cockburn. “Program comprehension: Investigating the effects of naming style and documentation”. In 6th Australasian User Interface Conf, Newcastle. pp. 73–78, 2005.L. Castro, F. Baiao, G. Guizzardi. “A survey on Conceptual Modeling from a Linguistic Point of View”. Relatórios Técnicos do Departamento de Informática Aplicada da UNIRIO, Vol. 3, pp. 3-12. 2009.A. Ene, A. Ene. “An application of the Levenshtein algorithm in vocabulary learning”, in International conference on electronics, Computers and artificial intelligence, Targoviste , pp. 1-4, Junio, 2017.L. Etzkorn, H. Delugach. “Towards a semantic metrics suite for object-oriented design Proceedings”, in 34th International Conference on Technology of Object-Oriented Languages and Systems- TOOLS 34, Santa Barbara, pp. 71-80, 2000.S. Fahmi, H. J. Choi. "Software Reverse Engineering to Requirements”, in International Conference on Convergence Information Technology, Gyeongju, pp. 2199-2204, 2007.M. C. Gómez. “Definición de un método para el diseño de juegos orientados al desarrollo de habilidades gerenciales como estrategia de entrenamiento empresarial”, Tesis de Maestría, Maestría en Ingeniería Administrativa, Universidad Nacional, Colombia. 2010.R. Gutiérrez. “Análisis Semántico Latente: ¿Teoría psicológica del significado?”, Revista signos, Vol. 38, N. 59, pp. 303-323, 2005.G. Jorge y Botana. “El Análisis de la Semántica Latente y su aportación a los estudios de Usabilidad” Revista electrónica: No solo usabilidad: revista sobre personas, diseño y tecnología, Vol. 5, N. 5, 2006.B. Kitchenham, S. Charters. “Guidelines for performing Systematic Literature Reviews in Software Engineering”, Keele University and Durham University Joint Report , 2007-01.B. Kitchenham, R. Pretorius, D. Budgen, O. P. Brereton, M. Turner, M. Niazi, S. Linkman. “Systematic literature reviews in software engineering--a tertiary study,” Information and Software Technology, Vol. 52, N. 8, pp. 792-805. 2010.D. Marcilio, R. Bonifacio, E. Monteiro, E. D. Canedo, G. Pinto. “Are Static Analysis Violations Really Fixed? A Closer Look at Realistic Usage of SonarQube” IEEE/ACM 27th in International Conference on Program Comprehension, Montreal, pp. 209-219, 2019.G. Miller. “WordNet: a lexical database for English” Communications of the ACM, Vol. 38, pp. 39-41, 1995.O. Pastor, J. C. Molina. “Model-Driven Architecture in practice: A Software Production Environment Based on Conceptual Modeling” Springer, New York, 2007.L. H. Rosenberg, S. B. Sheppard. “Metrics in software process assessment, quality assurance and risk assessment”, in IEEE 2nd International Software Metrics Symposium, London, pp. 10-16, 1994.J. J. Siegmund. “Program Comprehension: Past, Present, and Future”, in IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, Suita, Vol. 5, pp. 13-20, 2016.K. Sun, Y. Ji, L. Rui, X. Qiu. “An improved method for measuring concept semantic similarity combining multiple metrics”, in 5th IEEE International Conference on Broadband Network & Multimedia Technology, Beijing, pp. 268-272, 2013.R. Tiarks. “What Programmers Really Do: An Observational Study”. Softwaretechnik-Trends, Vol. 31, pp. 36-37. 2011.R. Venegas. “Análisis Semántico Latente: una panorámica de su desarrollo”, Revista signos, Vol. 36, N. 53, pp. 121-138, 2003.A. Von Mayrhauser, M. Vans, A. Howe. “Program Understanding Behaviour during Enhancement of Large-scale Software”. Journal of Software Maintenance: Research and Practice, Vol. 9, pp. 299-327. 1997.Y. Wang, C. Wang, X. Li, S. Yun, M. Song. “How are identifiers named in open source software? About popularity and consistency”. International Journal of Computer and Information Technology, Vol. 3, pp. 616-625. 2014.E. J. Weyuker. “Evaluating Software Complexity Measures,” IEEE Transactions on Software Engineering, Vol. 14, pp. 1357-1365. 1988.C. M. Zapata, A. Jaramillo, F. Arango. “Una propuesta para mejorar la completitud de requisitos utilizando un enfoque lingüístico”, Ingeniería & Desarrollo, Vol. 19, N. 19, pp. 1-16. 2006.C. M. Zapata, B. Manrique. “Transformación de lenguaje natural a controlado en la educción de requisitos: una síntesis conceptual basada en esquemas preconceptuales”. Revista Facultad de Ingeniería Universidad de Antioquia, Vol. 70, N. 70, pp. 132-145. 2014.C. M. Zapata. “Definición de un esquema preconceptual para la obtención automática de esquemas conceptuales de UML”, Tesis doctoral, Doctorado en ingeniería, Universidad Nacional, Colombia. 2007.ORIGINAL1036781610.2020.pdf1036781610.2020.pdfTesis de Maestría en Ingeniería - Ingeniería de Sistemasapplication/pdf1394196https://repositorio.unal.edu.co/bitstream/unal/78339/7/1036781610.2020.pdff88b4dc42b3f37202d2294ca2d166fceMD57LICENSElicense.txtlicense.txttext/plain; charset=utf-83895https://repositorio.unal.edu.co/bitstream/unal/78339/5/license.txte2f63a891b6ceb28c3078128251851bfMD55CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8914https://repositorio.unal.edu.co/bitstream/unal/78339/6/license_rdf1608e658af296c3febc577e957e919bfMD56THUMBNAIL1036781610.2020.pdf.jpg1036781610.2020.pdf.jpgGenerated Thumbnailimage/jpeg5381https://repositorio.unal.edu.co/bitstream/unal/78339/8/1036781610.2020.pdf.jpga1a8cf81b865cffeec2fa9ba2720f7b4MD58unal/78339oai:repositorio.unal.edu.co:unal/783392024-07-10 23:21:09.322Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.coUExBTlRJTExBIERFUMOTU0lUTwoKQ29tbyBlZGl0b3IgZGUgZXN0ZSDDrXRlbSwgdXN0ZWQgcHVlZGUgbW92ZXJsbyBhIHJldmlzacOzbiBzaW4gYW50ZXMgcmVzb2x2ZXIgbG9zIHByb2JsZW1hcyBpZGVudGlmaWNhZG9zLCBkZSBsbyBjb250cmFyaW8sIGhhZ2EgY2xpYyBlbiBHdWFyZGFyIHBhcmEgZ3VhcmRhciBlbCDDrXRlbSB5IHNvbHVjaW9uYXIgZXN0b3MgcHJvYmxlbWFzIG1hcyB0YXJkZS4KCk5PVEFTOgoqU0kgTEEgVEVTSVMgQSBQVUJMSUNBUiBBRFFVSVJJw5MgQ09NUFJPTUlTT1MgREUgQ09ORklERU5DSUFMSURBRCBFTiBFTCBERVNBUlJPTExPIE8gUEFSVEVTIERFTCBET0NVTUVOVE8uIFNJR0EgTEEgRElSRUNUUklaIERFIExBIFJFU09MVUNJw5NOIDAyMyBERSAyMDE1LCBQT1IgTEEgQ1VBTCBTRSBFU1RBQkxFQ0UgRUwgUFJPQ0VESU1JRU5UTyBQQVJBIExBIFBVQkxJQ0FDScOTTiBERSBURVNJUyBERSBNQUVTVFLDjUEgWSBET0NUT1JBRE8gREUgTE9TIEVTVFVESUFOVEVTIERFIExBIFVOSVZFUlNJREFEIE5BQ0lPTkFMIERFIENPTE9NQklBIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgVU4sIEVYUEVESURBIFBPUiBMQSBTRUNSRVRBUsONQSBHRU5FUkFMLgoqTEEgVEVTSVMgQSBQVUJMSUNBUiBERUJFIFNFUiBMQSBWRVJTScOTTiBGSU5BTCBBUFJPQkFEQS4KUGFyYSB0cmFiYWpvcyBkZXBvc2l0YWRvcyBwb3Igc3UgcHJvcGlvIGF1dG9yOiBBbCBhdXRvYXJjaGl2YXIgZXN0ZSBncnVwbyBkZSBhcmNoaXZvcyBkaWdpdGFsZXMgeSBzdXMgbWV0YWRhdG9zLCBZbyBnYXJhbnRpem8gYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBVTiBlbCBkZXJlY2hvIGEgYWxtYWNlbmFybG9zIHkgbWFudGVuZXJsb3MgZGlzcG9uaWJsZXMgZW4gbMOtbmVhIGRlIG1hbmVyYSBncmF0dWl0YS4gRGVjbGFybyBxdWUgZGljaG8gbWF0ZXJpYWwgZXMgZGUgbWkgcHJvcGllZGFkIGludGVsZWN0dWFsIHkgcXVlIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgVU4gbm8gYXN1bWUgbmluZ3VuYSByZXNwb25zYWJpbGlkYWQgc2kgaGF5IGFsZ3VuYSB2aW9sYWNpw7NuIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGFsIGRpc3RyaWJ1aXIgZXN0b3MgYXJjaGl2b3MgeSBtZXRhZGF0b3MuIChTZSByZWNvbWllbmRhIGEgdG9kb3MgbG9zIGF1dG9yZXMgYSBpbmRpY2FyIHN1cyBkZXJlY2hvcyBkZSBhdXRvciBlbiBsYSBww6FnaW5hIGRlIHTDrXR1bG8gZGUgc3UgZG9jdW1lbnRvLikgRGUgbGEgbWlzbWEgbWFuZXJhLCBhY2VwdG8gbG9zIHTDqXJtaW5vcyBkZSBsYSBzaWd1aWVudGUgbGljZW5jaWE6IExvcyBhdXRvcmVzIG8gdGl0dWxhcmVzIGRlbCBkZXJlY2hvIGRlIGF1dG9yIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8gY29uZmllcmVuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgdW5hIGxpY2VuY2lhIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBzZSBpbnRlZ3JhIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwsIHF1ZSBzZSBhanVzdGEgYSBsYXMgc2lndWllbnRlcyBjYXJhY3RlcsOtc3RpY2FzOiBhKSBFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWUgZW4gZWwgcmVwb3NpdG9yaW8sIHF1ZSBzZXLDoW4gcHJvcnJvZ2FibGVzIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gcGF0cmltb25pYWwgZGVsIGF1dG9yLiBFbCBhdXRvciBwb2Ryw6EgZGFyIHBvciB0ZXJtaW5hZGEgbGEgbGljZW5jaWEgc29saWNpdMOhbmRvbG8gYSBsYSBVbml2ZXJzaWRhZC4gYikgTG9zIGF1dG9yZXMgYXV0b3JpemFuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgcGFyYSBwdWJsaWNhciBsYSBvYnJhIGVuIGVsIGZvcm1hdG8gcXVlIGVsIHJlcG9zaXRvcmlvIGxvIHJlcXVpZXJhIChpbXByZXNvLCBkaWdpdGFsLCBlbGVjdHLDs25pY28gbyBjdWFscXVpZXIgb3RybyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSB5IGNvbm9jZW4gcXVlIGRhZG8gcXVlIHNlIHB1YmxpY2EgZW4gSW50ZXJuZXQgcG9yIGVzdGUgaGVjaG8gY2lyY3VsYSBjb24gdW4gYWxjYW5jZSBtdW5kaWFsLiBjKSBMb3MgYXV0b3JlcyBhY2VwdGFuIHF1ZSBsYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIHJlbnVuY2lhbiBhIHJlY2liaXIgZW1vbHVtZW50byBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgQ3JlYXRpdmUgQ29tbW9ucyBjb24gcXVlIHNlIHB1YmxpY2EuIGQpIExvcyBhdXRvcmVzIG1hbmlmaWVzdGFuIHF1ZSBzZSB0cmF0YSBkZSB1bmEgb2JyYSBvcmlnaW5hbCBzb2JyZSBsYSBxdWUgdGllbmVuIGxvcyBkZXJlY2hvcyBxdWUgYXV0b3JpemFuIHkgcXVlIHNvbiBlbGxvcyBxdWllbmVzIGFzdW1lbiB0b3RhbCByZXNwb25zYWJpbGlkYWQgcG9yIGVsIGNvbnRlbmlkbyBkZSBzdSBvYnJhIGFudGUgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgeSBhbnRlIHRlcmNlcm9zLiBFbiB0b2RvIGNhc28gbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uIGUpIExvcyBhdXRvcmVzIGF1dG9yaXphbiBhIGxhIFVuaXZlcnNpZGFkIHBhcmEgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyDDrW5kaWNlcyB5IGJ1c2NhZG9yZXMgcXVlIGVzdGltZW4gbmVjZXNhcmlvcyBwYXJhIHByb21vdmVyIHN1IGRpZnVzacOzbi4gZikgTG9zIGF1dG9yZXMgYWNlcHRhbiBxdWUgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgcHVlZGEgY29udmVydGlyIGVsIGRvY3VtZW50byBhIGN1YWxxdWllciBtZWRpbyBvIGZvcm1hdG8gcGFyYSBwcm9ww7NzaXRvcyBkZSBwcmVzZXJ2YWNpw7NuIGRpZ2l0YWwuIFNJIEVMIERPQ1VNRU5UTyBTRSBCQVNBIEVOIFVOIFRSQUJBSk8gUVVFIEhBIFNJRE8gUEFUUk9DSU5BRE8gTyBBUE9ZQURPIFBPUiBVTkEgQUdFTkNJQSBPIFVOQSBPUkdBTklaQUNJw5NOLCBDT04gRVhDRVBDScOTTiBERSBMQSBVTklWRVJTSURBRCBOQUNJT05BTCBERSBDT0xPTUJJQSwgTE9TIEFVVE9SRVMgR0FSQU5USVpBTiBRVUUgU0UgSEEgQ1VNUExJRE8gQ09OIExPUyBERVJFQ0hPUyBZIE9CTElHQUNJT05FUyBSRVFVRVJJRE9TIFBPUiBFTCBSRVNQRUNUSVZPIENPTlRSQVRPIE8gQUNVRVJETy4KUGFyYSB0cmFiYWpvcyBkZXBvc2l0YWRvcyBwb3Igb3RyYXMgcGVyc29uYXMgZGlzdGludGFzIGEgc3UgYXV0b3I6IERlY2xhcm8gcXVlIGVsIGdydXBvIGRlIGFyY2hpdm9zIGRpZ2l0YWxlcyB5IG1ldGFkYXRvcyBhc29jaWFkb3MgcXVlIGVzdG95IGFyY2hpdmFuZG8gZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBVTikgZXMgZGUgZG9taW5pbyBww7pibGljby4gU2kgbm8gZnVlc2UgZWwgY2FzbywgYWNlcHRvIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHBvciBjdWFscXVpZXIgaW5mcmFjY2nDs24gZGUgZGVyZWNob3MgZGUgYXV0b3IgcXVlIGNvbmxsZXZlIGxhIGRpc3RyaWJ1Y2nDs24gZGUgZXN0b3MgYXJjaGl2b3MgeSBtZXRhZGF0b3MuCkFsIGhhY2VyIGNsaWMgZW4gZWwgc2lndWllbnRlIGJvdMOzbiwgdXN0ZWQgaW5kaWNhIHF1ZSBlc3TDoSBkZSBhY3VlcmRvIGNvbiBlc3RvcyB0w6lybWlub3MuCg==