Scielo RSS <![CDATA[Revista Cubana de Ciencias Informáticas]]> http://scielo.sld.cu/rss.php?pid=2227-189920140004&lang=pt vol. 8 num. 4 lang. pt <![CDATA[SciELO Logo]]> http://scielo.sld.cu/img/en/fbpelogp.gif http://scielo.sld.cu <![CDATA[<strong>Effort estimation of software projects using artificial intelligence techniques</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000400001&lng=pt&nrm=iso&tlng=pt Los modelos algorítmicos de estimación de costo y esfuerzo, basados en el análisis regresivo de datos históricos abundan en la literatura especializada. Entre los más populares se encuentran COCOMO, SLIM, Puntos de Función. No obstante, desde los años 90, los modelos basados en técnicas de Inteligencia Artificial, fundamentalmente en técnicas de Aprendizaje Automático, han sido utilizados para mejorar la precisión de las estimaciones. Estos modelos se fundamentan en el uso de datos recogidos en proyectos anteriores en los que se realizaron estimaciones y la aplicación de diferentes técnicas de extracción de conocimiento, con el objetivo de realizar estimaciones de manera más eficiente, eficaz y, si fuera posible, con mayor precisión. El objetivo de este artículo consiste en presentar el análisis de algunas de estas técnicas, y cómo ellas han sido aplicadas en la estimación del esfuerzo en proyectos de software.<hr/>Algorithmic models of cost and effort estimation based on regression analysis of historical data abound in the literature. Among the most popular models are COCOMO, SLIM, Function Points. However, since the 90's, models based on Artificial Intelligence techniques, mainly in Machine Learning techniques have been used to improve the accuracy of the estimates. These models are based on the use of data collected in previous projects in which estimates were made and the application of different knowledge extraction techniques, in order to make estimates more efficient, effective and, if possible, more precise. The aim of this paper is to present an analysis of some of these techniques and how they have been applied in estimating the effort in software projects. <![CDATA[<strong>Features representation models for human actions classification in video</strong>: <strong>state of art</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000400002&lng=pt&nrm=iso&tlng=pt La clasificación de acciones humanas en video es un área del conocimiento muy activa en la comunidad científica de la visión por computador. El objetivo de este campo de investigación es clasificar automáticamente acciones humanas a partir de los fotogramas que componen una secuencia de video, utilizando para ello técnicas de reconocimiento de patrones. El rendimiento de los métodos de reconocimiento de patrones depende en gran medida de la representación de los datos utilizada. Por esta razón, se centra la atención en el análisis del estado del arte referente a los modelos de representación de la información visual para la clasificación de acciones humanas en videos. El presente trabajo tiene como objetivo examinar desde un enfoque crítico las diferentes aproximaciones reportadas, así como los referentes teóricos de la temática tratada. A partir del estudio realizado se logró concluir que la aplicación de técnicas de selección de características, el uso de modelos relacionales y la obtención de una representación basada en n-gramas visuales, figuran como alternativas interesantes a incorporar como parte de los modelos de representación de características para la clasificación de acciones humanas.<hr/>Human actions classification in video is a very active investigation area in computer vision. The objective of this research area is to classify automatically human actions from the frames that make up a video sequence, using pattern recognition techniques. The performance of pattern recognition methods is heavily dependent on the choice of data representation on which they are applied. For this reason, this paper focuses on the analysis of the state of the art concerning the representation models of visual information for human actions classification. This paper aims to critically analyze the different approaches reported and their theoretical aspects. Finally, the study concluded that the application of features selection techniques, the use of relational models and obtaining representation based on visual n-grams shown as interesting alternatives to incorporate as part of representation models for human actions classification. <![CDATA[<strong>Machine learning techniques for intrusion detection in computer networks</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000400003&lng=pt&nrm=iso&tlng=pt El desarrollo de sistemas de detección de intrusos en redes de computadoras (del inglés NIDS) constituye un reto para los investigadores, debido a que con el crecimiento de las redes de computadoras, aparecen, constantemente nuevos ataques basados en contenido. El presente artículo además de hacer una descripción de los enfoques de detección de intrusos basados en firmas y en anomalías, constituye una revisión de las diferentes técnicas de aprendizaje automático a aplicar en las etapas de preprocesamiento y procesamiento de los datos para la detección. Se describen la taxonomía de los NIDS y un esquema de clasificación de atributos de conexiones. En la detección de anomalías a partir de técnicas de aprendizaje automático varios son los conjuntos de datos empleados, siendo KDD Cup 99 el más utilizado. Atendiendo a esto se describe ese conjunto de datos y se exponen resultados obtenidos sobre el mismo a partir de algunas técnicas de preprocesamiento de datos como selección y discretización. Son expuestos novedosos enfoques que hibridan algoritmos de búsqueda basados en inteligencia de enjambre con algoritmos de aprendizaje automático, lo que posibilita elevar los índices de detección y mejoran la detección de ataques basados en contenido. Esta revisión resulta de gran aplicabilidad a investigadores que buscan áreas dentro de la detección de intrusos en redes de computadoras a partir de técnicas de aprendizaje automático, donde realizar aportes, por lo que se recomienda su consulta.<hr/>The development of network intrusion detection systems (NIDS) is a challenge for researchers, due to the growth of computer networks, constantly appear new content-based attacks. This article in addition to do a description of the approaches of intrusion signature-based and anomaly detection ones, also constitutes a review of the different machine learning techniques for the intrusion detection to be applied in data preprocessing and processing stages. NIDS taxonomy and an attributes classification scheme are described. In anomaly detection from machine learning techniques several data sets are employed, being KDD Cup 99 the most used. That data set is described and the results of some data preprocessing techniques applied on it such as selection and discretization are presented. Novel approaches that use search algorithms based on swarm intelligence with machine learning algorithms are exposed, which increase detection rates and improve the detection of content-based attacks. This review is of great relevance to researchers looking for areas within the intrusion detection in computer networks using machine learning techniques, in which make contributions. <![CDATA[<strong>Lógica difusa compensatoria para el análisis inteligente de redes sociales</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000400004&lng=pt&nrm=iso&tlng=pt Fuzzy graph theory has gained in visibility for social network analysis. In this work fuzzy logic and their role in modeling social relational networks is discussed. We present a proposal for extending the fuzzy logic framework to intelligent social network analysis using the good properties of robustness and interpretability of compensatory fuzzy logic. We apply this approach to the concept path importance taking into account the length and strength of the connection. Results obtained with our model are more consistent with the way human make decisions. Additionally a case study to illustrate the applicability of the proposal on a coauthorship network is developed. Our main outcome is a new model for social network analysis based on compensatory fuzzy logic that gives more robust results and allows compensation. Moreover this approach makes emphasis in using language for social network analysis.<hr/>La teoría de los grafos difusos ha ganado en visibilidad para el análisis de redes sociales. En este trabajo se discute el rol de las relaciones difusas y su papel en el modelado de redes sociales. En el artículo se presenta una propuesta para extender el marco de trabajo de la lógica difusa al análisis inteligente de las redes sociales usando las propiedades de robustez e interpretabilidad asociadas a la lógica difusa compensatoria. Mediante este enfoque es analizada la importancia de los caminos teniendo en cuenta la longitud y la fortaleza de la conexión entre nodos de la red. Los resultados obtenidos resultan más consistentes con la forma de tomar decisiones en los humanos. Adicionalmente se presenta un estudio de caso basado en el análisis de una red de coautoría mostrando la aplicabilidad de la propuesta. El principal resultado obtenido radica en un nuevo modelo para el análisis de redes sociales basado en la lógica difusa compensatoria brindando resultados más robustos y permitiendo la compensación. Adicionalmente el modelo contribuye al uso del lenguaje en el proceso de análisis de redes sociales. <![CDATA[<strong>A comparative study on self-adaptive differential evolution in dynamic environments</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000400005&lng=pt&nrm=iso&tlng=pt Un gran número de problemas de optimización reales son dinámicos, lo que significa que algunos de los elementos del modelo varían con el tiempo. Estos problemas han recibido un especial interés en los últimos años desde el punto de vista de la optimización mediante metaheurísticas. La Evolución Diferencial (DE) es una metaheurística poblacional que sobresale por su efectividad y fácil implementación. Sin embargo, como la mayoría de los paradigmas aplicados a este contexto, DE ha tenido que ser adaptada con el objetivo resolver principalmente la pérdida de diversidad en la población de soluciones. Por otro lado, la auto-adaptación es uno los enfoques menos tratados en la actualidad, y que ha mostrado ser en extremo eficiente en determinados contextos. La auto-adaptación es una técnica de control de parámetros que dota de cierta inteligencia al algoritmo, durante el proceso de búsqueda. En ese sentido, el presente trabajo investiga dos extensiones auto-adaptativas de DE en combinación con otros enfoques de diversidad existentes. Los resultados, obtenidos a partir de varios experimentos computacionales, confirman que la auto-adaptación es una técnica prometedora en este contexto.<hr/>Several real optimization problems are dynamic, meaning that some elements of their mathematical model are time varying. These problems have received a special interest in the last years from the viewpoint of metaheuristics. Differential Evolution (DE) is one of the current population-based metaheuristics with an excellent effectiveness and easy implementation. However, as similar paradigms in dynamic environments, DE has been adapted with aims of solving the diversity loss in the solution population. On the other hand, self-adaptation is one of the less used approaches in dynamic environments, despite its success in complex scenarios. Self-adaptation is a parameter control technique that gives certain intelligent behavior to the algorithm, during the search process. In that sense, the present work investigates the performance of two self-adaptive extensions of DE, which in combination with other existing diversity approaches have been applied in several dynamic scenarios. The obtained results from the computational experiments, confirm that self-adaptation is a promising technique for dynamic environments. <![CDATA[<strong>Method for the construction of the domain model in an Intelligent Programming Tutor</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000400006&lng=pt&nrm=iso&tlng=pt La generación de retroalimentación es un elemento fundamental para garantizar las ganancias de aprendizaje que se obtienen del uso de Sistemas Tutores Inteligentes. En la enseñanza de la programación los métodos tradicionales necesitan de un exhaustivo análisis de las soluciones correctas e incorrectas, produciendo tiempos de autoría de las actividades entre 200 y 300 horas. Las alternativas reducen el tiempo a cambio de una disminución en la efectividad de la retroalimentación. El objetivo del presente trabajo es desarrollar un método para la construcción del modelo de dominio para un Sistema Tutor Inteligente de programación que contribuya a la reducción del tiempo de autoría de forma que se genere retroalimentación efectiva para las actividades de ejercitación de tipo implementación. Se realiza la exposición de la propuesta de solución y se realiza un estudio para comprobar que esta cumple con las características deseadas.<hr/>The feedback generation is an essential element to ensure the learning gains that are obtained from the application of Intelligent Tutoring Systems. In programming teaching traditional methods require a thorough analysis of correct and incorrect solutions, producing authoring time for activities between 200 and 300 hours. The alternatives reduce the time in return of a decrease in the feedback´s effectiveness. The aim of this work is to develop a method for the construction of the domain model for an Intelligent Tutoring System for programming that contributes to reduce authoring time and the generation of effective feedback for activities of implementation type. The proposed solution is presented and a study is conducted to check that it meets the expected characteristics. <![CDATA[<strong>GeReport: Management System of Dynamic Reports</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000400007&lng=pt&nrm=iso&tlng=pt GEReport es una herramienta destinada al diseño, generación y configuración de los reportes relacionados con los datos históricos almacenados en una fuente de datos. Además, luego de contar con toda la información del reporte es posible exportarlo como imagen y en los formatos HTML, PDF y Excel. Para la interacción con las aplicaciones externas, el sistema implementa un servicio que expone los metadatos de los reportes para poder utilizarlos sin restricciones de lenguajes y plataformas. El sistema se creó sobre un entorno web y se desarrolló siguiendo lo establecido por el Proceso Unificado de Desarrollo (RUP), utilizando UML como lenguaje de modelado. Para la gestión de la base de datos se seleccionó PostgreSQL, en la implementación se utilizaron los lenguajes de programación PHP, con CodeIgniter 2.0 como marco de trabajo del lado del servidor y JavaScript con Dojo Toolkit 1.8 para el trabajo del lado del cliente. Se utiliza en la Universidad de Cienfuegos por analistas y programadores del Grupo de Estudios y Desarrollo de Ingeniería y Sistemas, perteneciente a la Facultad de Ingeniería.<hr/>GEReport is a tool for the design, generation and configuration of reports related to historical records stored in a data source. Also, after you have all the information in the report it can be exported as image also HTML, PDF and Excel. For the interaction with external applications, the system implements a service that exposes metadata reports for unrestricted use of languages and platforms. The system was built on a web environment and developed following the provisions of the Rational Unified Process (RUP), using UML as modeling language. To manage the database PostgreSQL was selected, for implementation it was used PHP programming languages, with CodeIgniter framework 2.0 as server side and JavaScript with Dojo Toolkit 1.8 for client-side work. It is used at the University of Cienfuegos by analysts and programmers of the Study Group of Engineering and Systems Development, belonging to Faculty of Engineering. <![CDATA[<strong>Bayesian classification technique to identify possible plagiarism in textual information</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000400008&lng=pt&nrm=iso&tlng=pt En la rama de la educación, el plagio de documentos es un problema con tendencia a ir en aumento. En el ámbito de la investigación científica, la manifestación de trabajos investigativos plagiados ha estado extendiéndose, por lo que se ha hecho necesaria la búsqueda de soluciones para contrarrestar este problema. En particular la Universidad de las Ciencias Informáticas decidió implementar un sistema informático que permita verificar la existencia de plagio en los artículos científico - técnicos a publicar en los sistemas de información académica que allí se manejan: Serie Científica, Revista Cubana de Ciencias Informáticas y Repositorio Institucional fundamentalmente. El objetivo de este trabajo es proponer el uso de varias técnicas de detección de plagio para el sistema a desarrollar, así como la utilización de un método de aprendizaje automático para la clasificación de los documentos sospechosos.<hr/>In the field of education, the document plagiarism is a problem with tendency to go up. In the field of scientific research, has been demonstrated that the plagiarized research papers has been spreading, so it has become necessary to find a solution to counteract this problem. In particular the University of Informatics Sciences decided to implement a computerized system to check for plagiarism in scientific articles for publishing in the academic information systems of the university such as: Scientific Series, Cuban Journal of Computer Science and the Institutional Repository fundamentally. The aim of this paper is to propose the use of various techniques for the plagiarism detection system to be developed, and the use of a machine learning method for the classification of suspicious documents. <![CDATA[<strong>Strategy to develop the internal processes perspective on software testing lab</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000400009&lng=pt&nrm=iso&tlng=pt Las organizaciones deben brindar sus bienes o servicios con un alto grado de calidad, garantizando la satisfacción de sus clientes. Las normas, contribuyen a la estandarización de los procesos de las organizaciones, para lograr su acreditación y certificación a partir de estas, con reconocimiento a escala internacional. Las actividades relacionadas con las pruebas de software, se brindan como tendencia actual, bajo el principio del outsourcing en las Factorías de Pruebas. Existen modelos de referencia para estas organizaciones, los cuales definen un conjunto de buenas prácticas a realizar, con el objetivo de llevar a cabo una mejora de procesos. Sin embargo, no toman en cuenta lo definido en las normas de la Organización Internacional de Normalización, en función de facilitar la acreditación y certificación del laboratorio de pruebas y lograr un aumento en la eficiencia de las pruebas. En este trabajo se presenta una estrategia para desarrollar la perspectiva procesos internos en un laboratorio de pruebas de software que brinda servicios outsourcing, facilitando su acreditación y certificación, así como un aumento en la eficiencia de las pruebas de software. La propuesta considera las normas NC-ISO/IEC 9001: 2008, NC-ISO/IEC 17025:2006 y NC- ISO/IEC 9126-1:2005. Se elaboró la Guía de requisitos complementarios, esencial para la interpretación de la norma de acreditación. Se aplicó la propuesta en un entorno real, evidenciándose excelentes resultados en los tres métodos aplicados para su validación.<hr/>Organizations must provide their products or services with a high degree of quality, ensuring customer satisfaction. The standards contribute to the standardization of processes of organizations to achieve their accreditation and certification from these, with international recognition. The activities related to software testing, are provided as the current trend, under the principle of outsourcing in the Testing Factories. There are role models for these organizations, which define a set of best practices to be done with the aim of carrying out a process improvement. However, do not take into account defined in the standards of the International Organization for Standardization, in order to facilitate the accreditation and certification test lab and achieve an increase in testing efficiency. This paper presents a strategy to develop the internal processes perspective in a laboratory test that provides software outsourcing services, facilitating their accreditation and certification as well as an increase in the efficiency of software testing. The proposal considers the standards NC-ISO/IEC 9001: 2008 and NC- NC-ISO/IEC 17025:2006 ISO / IEC 9126-1:2005. The additional requirements guide was developed, essential for the interpretation of the accreditation standard. The proposal was implemented in a real environment, showing excellent results in all three methods used for validation. <![CDATA[<strong>Distribution system of the search process in fingerprints databases</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000400010&lng=pt&nrm=iso&tlng=pt La búsqueda en el banco de datos de un sistema de identificación de huellas dactilares o AFIS, influye significativamente en la obtención de tiempos de respuesta adecuados y en la efectividad del sistema. Entre las estrategias de búsqueda están la centralización en un nodo que procese toda la información y la distribución del proceso en nodos que busquen paralelamente. En el Centro de Identificación y Seguridad Digital se desarrolló un AFIS para ser incluido en sus sistemas de control de acceso. Este sistema reporta una baja tolerancia a fallos y tiempos de respuesta ineficientes utilizando un banco de datos de solo 10 000 huellas, debido a la implementación de un proceso de búsqueda centralizado. Este trabajo propone erradicar estos inconvenientes con un sistema que brinde un servicio de distribución, realizando una búsqueda concurrente en varios nodos. Para ello se seleccionó el middleware RabbitMQ con el objetivo de establecer la comunicación entre los distintos nodos que participan en el proceso de búsqueda. La solución aporta una estrategia de monitoreo y control de fallos basada en la redistribución del banco de datos siempre que se detecte la caída de un nodo. Además, los resultados de las pruebas de rendimiento realizadas utilizando un banco de datos de 28 000 huellas dactilares, demostraron que al aumentar los datos a procesar, el modelo centralizado ralentizaba la identificación, mientras que con la utilización del servicio de distribución utilizando solo 3 servidores de búsqueda, los tiempos de respuesta del AFIS se redujeron en más de un 50%.<hr/>The search process in a database system based on fingerprint identification (AFIS), has a significant influence in obtaining appropriate response times and system effectiveness. There are many search strategies such as centralization on a node to process all information and distribution process in parallel nodes participating in the search. In Identification and Security Digital Center an AFIS was developed to be included on their access control systems. This system reports low fault tolerance and time inefficient responses using a database of 10 000 fingerprints, due to the implementation of a centralized search process. To eliminate these problems with a system that provides a delivery service, performing a search on multiple nodes concurrently. RabbitMQ middleware was selected in order to establish communication between the different nodes participating in the search process. The solution provides a strategy for failure monitoring based on the redistribution of the database whenever a falling node is detected. Also, the results of performance testing using a database of 28 000 fingerprints showed that increasing the data processing, the centralized model identification slowed, while the use of the distribution service using only 3 search servers response times AFIS decreased by more than 50%.