Computación e informática
URI permanente para esta colección
Examinar
Examinando Computación e informática por Tipo "contribución de congreso"
Mostrando 1 - 20 de 39
Resultados por página
Opciones de ordenación
Ítem A Functional Size Measurement Procedure for MVC Applications from Source Code: Design, Automation and Empirical Evaluation(2014-09) Quesada López, Christian UlisesSoftware size has proved to be one of the main effort-and-cost drivers. It is widely accepted that software size is one of the key factors that has the potential to affect the effort and cost of the software projects. Functional size methods are hardly automatable and generally require a lengthy and costly process. FSM methods define generic concepts and measurement rules. The setup of a measurement procedure for each input to the measurement process is hence needed. A measurement procedure is defined as a set of operations described explicitly in order to measure according to a specific measurement method. A size estimation procedure based on the use of software development productivity models allows the management of development costs. Although accurate size estimation and effort prediction are very important for the success of any project, many practitioners have experienced difficulties in applying them. Thus, automated and simplified FSM methods are required. This research aims to proposing a functional size measuring procedure for Model-View-Controller (MVC) applications from source code. The research project includes the design, automation and empirical validation of a functional size measuring procedure, according to the ISO/IEC 20926 FPA CPM method. This proposal describes the research agenda of the PhD project. Research objective, background, relevant, prior work, research methods, threats to validity, current status and future plans are described in details. Since this is an ongoing work, this proposal looks for feedback from the expert community in order to improve its consistency as well as the reliability of the empirical validation.Ítem A Model Proposal for Augmented Reality Game Creation to Incentivize Physical Activity(2017) Cicció Cabezas, José Antonio; Quesada Quirós, LuisObesity and a sedentary lifestyle are relevant issues in today’s society. Even though different resources can be used to approach this problem, technology provides endless possibilities to fight against this problem. This article presents the results of a model to create augmented reality games where goals are achieved by doing physical activity (moving between different places). In order to evaluate the model, a prototype was built and presented to 50 participants. The results obtained indicated that an important percentage of the interviewees were attracted to the idea of playing a game to increase their physical activity.Ítem A Prototype Mobile Expert System for Nutritional Diagnosis(2013) Quesada López, Christian Ulises; Jenkins Coronas, MarceloThis paper describes NUTRITION UCR, a prototype expert system for human nutritional diagnosis developed in Java on Android using a service-oriented architecture. The system runs on mobile devices and offers smart features that evaluate the nutritional condition of an individual by assessing their physical characteristics and eating habits. We explain the knowledge engineering process used to develop the system, overview the system architecture and selected design tools, and summarize some preliminary results from the prototype implementation.Ítem A survey of software testing practices in Costa Rica(2019-04-24) Quesada López, Christian Ulises; Hernández Agüero, Erika; Jenkins Coronas, MarceloSoftware 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 reexecution of tests when the software is modified are useful and im-portant 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.Ítem A tertiary study on model-based testing areas, tools and challenges: Preliminary results(2018-04-24) Villalobos Arias, Leonardo; Quesada López, Christian Ulises; Martínez Porras, Alexandra; Jenkins Coronas, MarceloContext: Model-based testing (MBT) is one of the most studied approaches by secondary studies in the area of software testing. A tertiary study that aggregates knowledge from secondary studies on MBT can be useful to both academia and industry. Objective: The goal of this study is to identify and characterize secondary studies in model-based testing, in terms of the areas, tools and challenges they have investigated. Method: We conducted a tertiary study in MBT. Our systematic mapping of secondary studies included 12 literature surveys and 10 systematic reviews over the period 1996–2016.Results: We found that the two most studied areas of MBT are UML models and Transition-based notations. We also found that only 5 studies compared and classified MBT tools. The main challenges and limitations found were related to the need for more empirical evidence that supports the selection of MBT approaches and tools. Conclusions: Not many systematic reviews on MBT were found, consequently some areas still lack secondary studies: test execution aspects, language types, model dynamics, and some model paradigms and generation methods. We thus encourage the MBT 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 MBT.Ítem Alzheimer’s Disease Early Detection Using a Low Cost Three-Dimensional Densenet-121 Architecture(2020-06-23) Solano Rojas, Braulio José; Villalón Fonseca, Ricardo; Marín Raventós, GabrielaThe objective of this work is to detect Alzheimer’s disease using Magnetic Resonance Imaging. For this, we use a three-dimensional densenet-121 architecture. With the use of only freely available tools, we obtain good results: a deep neural network showing metrics of 87% accuracy, 87% sensitivity (micro-average), 88% specificity (micro-average), and 92% AUROC (micro-average) for the task of classifying five different classes (disease stages). The use of tools available for free means that this work can be replicated in developing countries.Ítem An Empirical Evaluation of Automated Function Points(2016) Quesada López, Christian Ulises; Madrigal Sánchez, Denisse; Jenkins Coronas, MarceloBackground: Function point analysis (FPA) has become widely used to measure software functional size in the industry. FPA is usually performed manually, which is a time consuming and expensive process. Automated Function Point (AFP) specification states the guidelines for automating FPA counting from software source code, generally consistent with current FPA practices. Objective: This paper analyzes the relationships between FPA and AFP measures and measurement process. This includes total function points and basic functional components (BFC) size. The goals are to evaluate accuracy, reproducibility, perceived ease of use, usefulness, and intention to use and to understand the nature of the differences between measures. Method: A controlled experiment was conducted to evaluate the FPA and AFP measurement process with 14 participants (E1). We have subsequently conducted two replications of the original experiment with 12 participants each (E2 and E3). Statistical analyses were conducted to find differences between the methods regarding effectiveness and adoption properties. Results: Participants using FPA performed as well as participants using AFP to measure total functional size. Treatment and control groups did not differ significantly in terms of accuracy and reproducibility (p<0.05) throughout E1, E2 and E3. FPA presented similar accuracy to AFP for each replication. Participants between experiments performed different; data function (DF) results show an important difference between methods. Conclusions: The results confirm the potential for developing automation tools for function point counting that could produce more consistent measurement results; however, this process should be conducted carefully, depending on the implementation of a given requirements specification, AFP could produce different results. Although encouraging results were obtained, further research is needed to confirm performance results and to draw more conclusions on the perceived adoption properties.Ítem An Empirical Validation of an Automated Genetic Software Effort Prediction Framework Using the ISBSG Dataset(2016-04) Murillo Morera, Juan; Quesada López, Christian Ulises; Castro Herrera, Carlos; Jenkins Coronas, MarceloThe complexity of providing accurate software effort prediction models is well known in the software industry. Several prediction models have been proposed in the literature using different techniques, with different results, in different contexts. Objectives: This paper reports a benchmarking study using a genetic approach that automatically generates and compares different learning schemes (preprocessing+attribute selection+learning algorithms). The effectiveness of the software development effort prediction models (using function points) were validated using the ISBSG R12 dataset. Methods: Eight subsets of projects were analyzed running a M×N-fold cross-validation. We used a genetic approach to automatically select the components of the learning schemes, to evaluate, and to report the learning scheme with the best performance. Results: In total, 150 learning schemes were studied (2 data preprocessors, 5 attribute selectors, and 15 modeling techniques). The most common learning schemes were: Log+ForwardSelection+M5-Rules, Log+BestFirst+M5-Rules, Log+LinearForwardSelection+SMOreg, ForwardSelection+SMOreg and ForwardSelection+ SMOreg, BackwardElimination+SMOreg, LinearForwardSelection+SMOreg, and Log+Best First+SMOreg. Conclusions: The results show that we should select a different learning schemes for each datasets. Our results support previous findings regarding that the setup applied in evaluations can completely reverse findings. A genetic approach that automatically selects best combination based on a specific dataset could improve the performance of software effort prediction models.Ítem An Empirical Validation of Function Point Structure and Applicability: A Replication Study(2015-04) Quesada López, Christian Ulises; Jenkins Coronas, MarceloBackground: The complexity of providing accurate software size estimation and effort prediction models is well known in the software industry. Function point analysis (FPA) is currently one of the most accepted software functional size metric in the industry, but it is hardly automatable and generally requires a lengthy and costly process. Objectives: This paper reports on a family of replications carried out on a subset of the ISBSG R12 dataset to evaluate the structure and applicability of function points. The goal of this replication was to aggregate evidence about internal issues of FPA as a metric, and to confirm previous results using a different set of data. First, FPA counting was analyzed in order to determine the extent to which the base functional components (BFC) were independent of each other and thus appropriate for an additive model of size. Second, the correlation between effort and BFCs and unadjusted function points (UFP) were assessed in order to determine whether a simplified sizing metric might be appropriate to simplify effort prediction models. Methods: A subset of 72 business application projects from 2008 to 2011 was analyzed. BFCs, UFP, and effort correlation were studied. Results: The results aggregated evidence and confirmed that some BFCs of the FPA method are correlated. There is a relationship between BFCs and effort. There are correlations between UFP and inputs, enquiries, and internal files, and between BFCs and effort. Internal files and inputs are found to be correlated always, and external interface files are found to be uncorrelated with the others. A prediction model based on transactions and internal files appear to be as good as a model based on UFP. The use of some contexts attributes may improve effort prediction models. Limitations: This is an initial experiment of a research in progress. The limited size and nature of the dataset may influence the results. Conclusions: Our results might suggest an improvement in the performance of the measurement process. Simplifying FPA measurement procedure based on counting a subset of BFCs could improve measurement process efficiency and simplify prediction models.Ítem An evaluation of functional size measurement methods(2015-04) Quesada López, Christian Ulises; Jenkins Coronas, MarceloBackground: Software size is one of the key factors that has the potential to affect the effort of software projects. Providing accurate software size estimation is a complex task. A number of functional size measurement (FSM) methods have been proposed to quantify the size of software based on functional user requirements (user perspective). Function point analysis (FPA) was the first proposal for a FSM method and it is one of the most accepted FSM methods in the industry. Automated Function Point (AFP) method state the guidelines for automating FPA counting from software source code. Objectives: This paper reports on an experiment that compares FPA and AFP. The goal is to evaluate the measurement process on a range of performance and adoption properties such as accuracy, reproducibility, efficiency, perceived easy to use, usefulness, and intention to use. Methods: A controlled experiment was conducted to compare the two methods. Statistical analyses were conducted to find differences between the methods regarding performance and adoption properties. Results: The functional size results between the FPA and AFP methods were similar (MMRE 6-8%). Productivity rate was about the same reported for the industry (43.4 FPA/h, 37.8 AFP/h). There were no significant differences between the methods for functional size estimation, reproducibility, and accuracy. Limitations: This is an initial experiment of a work in progress. The limited sample size and nature of the subjects may influence the results. Conclusions: These results support the claim that AFP produces similar measurement results that FPA. The automation of the AFP method could produce more consistent measurement results in conformance with the FPA counting guidelines. An automated and quick FSM counting method will increase the adoption of this metric in industry. Further research is needed to conclude more on some perceived adoption properties.Ítem Application of GQM+Strategies in a Multi-industry State-Owned Company(2016) López Herrera, Gustavo; Aymerich Fuentes, Brenda; Garbanzo Quirós, Diana; Pacheco Hernández, AlexiaTechnological applications have an increasingly important role in most companies. Investment in Information Technologies (IT) is also growing in most of them. The need to align IT-related goals with the company’s strategic goals becomes imperative. GQM+Strategies is an approach to align organizational goals, strategies, and measurements at different levels of an organization. This paper describes experiences learned from a GQM+Strategies implementation at a large multi-industry state-owned company. The implementation was conducted by an academic research team joined by representatives of the company. Results showed an improved alignment and integration of different goals. Moreover, a holistic goal visualization was achieved, even though the company works in two different industries. As a state-owned company, external pressures force continuous planning. Sometimes, inadvertently designing those plans is the only goal achieved (i.e., plans are never executed). Using GQM+Strategies, the research team leveraged the separation of goals and strategies, allowing identification of redundancies and replicated efforts across the company. The implementation of the GQM+Strategies approach in such a complex context was very valuable. However, it also required a large amount of effort from the researchers and company representatives.Ítem Automated Testing of Mobile Applications: A Systematic Map and Review(2015-04) Méndez Porras, Abel; Quesada López, Christian Ulises; Jenkins Coronas, MarceloContext: Software testing is a costly and time-consuming activity. Automated testing of mobile applications is considered complex and difficult. Indeed, several factors such as a variety of inputs (user, context, and environment) that a mobile application normally requires, and the heterogeneity of the technologies make automated testing not a trivial task. Two of the major challenges for automated testing are creation of the appropriate test cases scenarios and to decide in which devices to perform the testing. Objective: This paper reports on a systematic map and review. Automated testing approaches for mobile applications, testing techniques, and empirical assessment are identified, mapped, and characterized. We investigate the major challenges in automated testing of mobile applications. An analysis and synthesis of these studies is conducted. Method: A systematic mapping and systematic literature review research method has been conducted for identifying and aggregating evidence about automated testing of mobile applications. Results: A total 83 studies were identified. The results were tabulated and synthesized to provide recommendations to practitioners about automated testing of mobile applications. The main approaches identified were model-based testing (30%), capture/replay (15.5%), model-learning testing (10%), systematic testing (7.5%), fuzz testing (7.5%), random testing (5%) and scripted based testing (2.5%). Conclusions: In recent years, the number of proposals for automated software testing of mobile applications has increased. In 40% of the studies, the testing techniques use GUI-based models of the application. Further research is needed, in order to improve the creation of effective and efficient models for automated testing of mobile applications.Ítem Automatically recovering students’ missing trace links between commits and user stories(2021) Hamer Campos, Sivana Alexa; Quesada López, Christian Ulises; Jenkins Coronas, MarceloTrace links between commits and user stories can be used in educational software engineering projects to track progress and determine the students’ contribution to projects’ requirements. Thus, traceability can be helpful in courses for grade assessment, and project monitoring and improvement. Currently developers, including students in courses, manually link commits and issues using version control systems (e.g., Git) and issue tracking systems (e.g., Jira). However, manual trace links are often incomplete. In our study, we found that only 43% of the commits are linked to stories in the analyzed project. Therefore, there is a need to automatically or semi-automatically create trace links. This study aims to automatically recover trace links between commits and user stories requirements in an undergraduate student project with twenty students and four teams. We used unstructured data from messages, code and files of commits and stories to gather textual similarity measures. We evaluated the effectiveness of information retrieval (Vector space model, Latent semantic indexing and BM25) and machine learning (Random forests, Decision trees and Neural networks) techniques in recovering missing links using textual and process data. Machine learning models outperformed information retrieval models in precision, recall, and F-measure. Machine learning models were able to effectively recover missing trace links with an average of 93% precision and 94% recall, showing the applicability of the approach.Ítem Cancelación del ruido de ambiente en grabaciones de vocalizaciones de manatíes antillanos(2015-03) Castro Castro, Jorge Mario; Camacho Lozano, Arturo; Rivera Chavarría, MarioEl manatí antillano es una especie que se encuentra amenazada a lo largo de su ámbito de distribución. Para promover su conservación, es importante localizar y contar individuos. La estimación de población a través de sus vocalizaciones es una opción confiable, de bajo costo, no invasiva y novedosa en la región centroamericana. Sin embargo, para desarrollar un método de conteo automático, conviene primero cancelar el ruido de ambiente en las grabaciones. En este trabajo se propone un algoritmo para cancelar el ruido ambiental en grabaciones de campo de vocalizaciones de manatíes, basado en la transformada wavelet, la función de auto correlación y técnicas de agrupamiento. El algoritmo propuesto logra una mejora promedio de la razón de señal a ruido de 28 dB para grabaciones de emisiones vocales de manatíes antillanos contaminadas con ruido ambiental de alta intensidad.Ítem Cloud Management Platform Selection: A Case Study in a University Setting(2015-03-22) Cocozza Garro, Francisco José; López Herrera, Gustavo; Marín Raventós, Gabriela; Villalón Fonseca, Ricardo; Arroyo Mora, Rafael FranciscoCloud Computing has gained importance in recent years. There are many implementations' analyses and evaluations of Cloud Management Platforms (CMPs) in the literature. Moreover, the context and characteristics differ drastically between implementations, depending on the user requirements and usage context. This paper presents a case study of the process we followed to select a Cloud Computing management platform to be deployed in a University. Administrative and academic requirements were gathered and studied to define the most appropriate platforms. We present an overview of available CMPs. Moreover, we show a set of comparison criteria that could be used to determine which CMP adapts best to the cloud deployment scenario.Ítem Design and Implementation of a Software Testing Training Course(2015) López Herrera, Gustavo; Cocozza Garro, Francisco José; Martínez Porras, Alexandra; Jenkins Coronas, MarceloThis paper presents the design and implementation of a software testing training course for software developers with little or no background on software testing. The design of this training course is modular, so that it can be adapted to different industry needs. The first module is a theoretical course that comprises the fundamentals of software testing, testing types, levels and design techniques. The second module is a practical hands-on workshop where students apply the theoretical concepts from the first module using a specialized tool that supports the entire testing process. The training was given to a small group of developers who work in a software development unit at our university. Our design and implementation of the training course was assessed from three different points of view: the trainer’s, the trainee’s, and the manager’s. Our experience might help educational institutions and college professors in designing and implementing software testing training courses for industry.Ítem Estudio sobre las prácticas de la ingeniería de software en Costa Rica: Resultados preliminares(2017) Quesada López, Christian Ulises; Jenkins Coronas, MarceloEl objetivo del presente estudio es caracterizar las prácticas de la ingeniería de software (SE) en la industria costarricense. Para alcanzar el objetivo se diseña y ejecuta una encuesta en línea con 46 preguntas basadas en el Software Engineering Body of Knowledge (SWEBOK) y estudios previos en el área. Los resultados confirman que (1) La calidad y la productividad siguen siendo los principales desafíos. (2) Los profesionales requieren evidencia sobre las prácticas esenciales de la SE que generan mayor valor agregado a sus organizaciones. (3) Los principales desafíos los enfrentan en las actividades de aseguramiento de la calidad y pruebas, y en la comunicación con la alta gerencia y los usuarios finales. (4) Las metodologías ágiles son las más utilizadas (46.7%), principalmente Scrum (24.5%), seguido por las metodologías tradicionales como cascada (19.9%), prototipos (19.0%), incremental (10.2%) y espiral (3.7%). (5) En el 85% de los casos el uso de las metodologías ágiles y cascada es excluyente. (6) Los lenguajes más utilizados son los de la familia .Net (48%), seguido por Java (26%). (7) Las pruebas más comunes son las de unidad, de aceptación, funcionales, de sistema y de integración. (8) Las pruebas manuales prevalecen sobre las automatizadas, solo el 33% reportan el uso frecuente de pruebas automatizadas. La industria costarricense se encuentra en el momento justo para adoptar prácticas de aseguramiento de la calidad y mejoramiento y medición de los procesos. Los resultados de la encuesta pueden ser de interés para la industria y la academia y confirman algunos de los reportados por estudios similares en otros países.Ítem Evaluando la Creación de Pruebas Unitarias para un Sistema Legado mediante Microsoft Fakes y Dobles de Prueba(2016-04) Barrantes Quesada, Mario Alberto; Martínez Porras, AlexandraEste artículo evalúa la creación de pruebas unitarias para un sistema de código legado usando dos técnicas alternativas: el framework de aislamiento Microsoft Fakes y el método de dobles de prueba. La organización en la cual se efectuó este estudio no realiza pruebas unitarias, lo cual deriva en un alto costo de mantenimiento para sus sistemas pues debe ejecutar pruebas de regresión manuales cuando se realiza un cambio. Se usó entonces uno de sus sistemas legados como caso de estudio para evaluar cuál técnica de inclusión de pruebas unitarias resultaba más ventajosa para la organización. En primer lugar, se analizó la mantenibilidad del sistema legado. En segundo lugar, se seleccionaron los métodos a probar con pruebas unitarias y finalmente, se desarrollaron las pruebas usando el framework Microsoft Fakes y el método de dobles de prueba. Durante el desarrollo y la ejecución de las pruebas, se recolectaron las métricas necesarias para la comparación de ambos métodos. Los resultados de este caso de estudio muestran que Microsoft Fakes posibilita el desarrollo de pruebas unitarias en código legado sin necesidad de cambiar el código productivo y en un menor tiempo de desarrollo que dobles de prueba, pero a un mayor tiempo de ejecución.Ítem Evolution of microcontroller’s course under the influence of arduino(2016) Acevedo Patiño, Oscar; Contreras Ortiz, Sonia Helena; Martínez Santos, Juan CarlosThis paper presents the evolution of an undergraduate microcontroller’s course that uses Arduino as its main platform. In earlier versions of the course, it focused on teaching Arduino’s framework and its interconnection to compatible hardware. This allowed rapid familiarization with the hardware and software, but students were losing the capability to design their own prototypes. So, we tried a different approach that still uses Arduino, but includes a deeper study of technical details to have more control on the device. This paper presents the first comprehensive analysis of these methodologies. The proposed course starts studying Arduino’s platform as a tool to get familiar with the hardware and software interface. On the second part, students gain a deeper understanding of the Arduino framework, and are able to configure its main features. On the last part, students put the Arduino framework aside and focus on the microcontroller to learn the main features of its architecture. We observed that the evolution of the course has helped to increase the student’s skills and motivation.Ítem Factores asociados a prácticas de desarrollo y pruebas de software en Costa Rica: Un estudio exploratorio(2018-04-23) Quesada López, Christian Ulises; Jenkins Coronas, MarceloLa industria de desarrollo de software costarricense se desenvuelve en entornos cambiantes y competitivos. Para enfrentar los continuos desafíos adoptan distintas prácticas ingenieriles que les permitan cumplir las metas de calidad establecidas e incrementar la productividad. Este estudio realiza un análisis cruzado de factores entre las prácticas de ingeniería de software utilizadas en la industria versus los factores demográficos de los profesionales. Para esto, exploramos las relaciones y patrones identificados para las prácticas de desarrollo y pruebas de software. Nuestro análisis considera las respuestas de 135 profesionales que participaron en una encuesta basada en el cuerpo de conocimiento en la ingeniería del software (SWEBOK). En nuestra investigación encontramos que no existe una asociación significativa entre el tamaño de la organización y las metodologías de desarrollo. Además, un conjunto de asociaciones identificadas con distintos factores de contexto son discutidas. Los resultados sugieren que las organizaciones y sus equipos de desarrollo adaptan las prácticas ingenieriles en sus procesos de acuerdo a las necesidades específicas y el contexto de negocios en el que desarrollan sus proyectos. Se requieren estudios similares que analicen las tendencias de uso y adopción de las prácticas de la ingeniería del software en distintos contextos.