121 research outputs found

    Are Forward Designed or Reverse-Engineered UML Diagrams More Helpful for Code Maintenance?: A Controlled Experiment

    Get PDF
    Context: UML has been the de facto standard notation for modeling object-oriented software systems since its appearance in 1997. UML diagrams are important for maintainers of a system, especially when the software was developed by a different team. These diagrams of the system are not always available, however, and are commonly recovered using Reverse Engineering (RE) techniques. When obtained through RE, UML diagrams have a high level of detail as compared to those developed in the forward design activity. Method: In this paper we report on a comparison of the attitude and performance of maintainers when using these two kinds of diagrams during the maintenance of source code. Our findings were obtained by carrying out a controlled experiment with 40 students of a Master’s degree in Computer Science. Results: The results show a preference for forward design diagrams but do not display significant differences in task performance. The post-experiment survey results have led us to conclude that the subjects did not consider RE diagrams helpful; they found them difficult to understand, particularly the sequence diagrams. In the case of forward design diagrams, subjects considered sequence diagrams as useful, but they did not really employ them. Conclusions: Based on our findings, as regards performance of maintainers, there are no objective results which favor the use of one of these types of diagram in particular, i.e., UML diagrams which come from forwards design, on the one hand, and diagrams obtained from RE, on the other. Subjective opinions do, however, lead us to recommend the use of diagrams created during design. Nevertheless, we realize that the results should be considered as preliminary ones; further replications of this experiment are planned, using students and professionals, the aim being to obtain more conclusive results.Ministerio de Economía y Competitividad TIN2012-37493-C03-0

    Do software models based on the UML aid in source-code comprehensibility? Aggregating evidence from 12 controlled experiments

    Get PDF
    In this paper, we present the results of long-term research conducted in order to study the contribution made by software models based on the Unified Modeling Language (UML) to the comprehensibility of Java source-code deprived of comments. We have conducted 12 controlled experiments in different experimental contexts and on different sites with participants with different levels of expertise (i.e., Bachelor’s, Master’s, and PhD students and software practitioners from Italy and Spain). A total of 333 observations were obtained from these experiments. The UML models in our experiments were those produced in the analysis and design phases. The models produced in the analysis phase were created with the objective of abstracting the environment in which the software will work (i.e., the problem domain), while those produced in the design phase were created with the goal of abstracting implementation aspects of the software (i.e., the solution/application domain). Source-code comprehensibility was assessed with regard to correctness of understanding, time taken to accomplish the comprehension tasks, and efficiency as regards accomplishing those tasks. In order to study the global effect of UML models on source-code comprehensibility, we aggregated results from the individual experiments using a meta-analysis. We made every effort to account for the heterogeneity of our experiments when aggregating the results obtained from them. The overall results suggest that the use of UML models affects the comprehensibility of source-code, when it is deprived of comments. Indeed, models produced in the analysis phase might reduce source-code comprehensibility, while increasing the time taken to complete comprehension tasks. That is, browsing source code and this kind of models together negatively impacts on the time taken to complete comprehension tasks without having a positive effect on the comprehensibility of source code. One plausible justification for this is that the UML models produced in the analysis phase focus on the problem domain. That is, models produced in the analysis phase say nothing about source code and there should be no expectation that they would, in any way, be beneficial to comprehensibility. On the other hand, UML models produced in the design phase improve source-code comprehensibility. One possible justification for this result is that models produced in the design phase are more focused on implementation details. Therefore, although the participants had more material to read and browse, this additional effort was paid back in the form of an improved comprehension of source code

    Brote de psitacosis en la localidad de Fontana (Chaco, Argentina) durante enero de 2014

    Get PDF
    La psitacosis es una enfermedad de notificación obligatoria, individual e inmediata, cuya transmisión a los seres humanos puede ocurrir por contacto directo con aves infectadas o indirecto por material contaminado. El último caso confirmado en la Provincia del Chaco había ocurrido en el año 2004, por ello se requirió la intervención del equipo provincial de epidemiólogos a fin de iniciar la investigación de un probable brote de la enfermedad y realizar las intervenciones necesarias a fin de evitar la aparición de nuevos afectados. La pesquisa se llevó a cabo bajo los lineamientos del “estudio de brote” recomendado por las autoridades sanitarias. El caso correspondió a una persona de sexo masculino con sintomatología presuntiva y antecedente de contacto con un ave psitácida. Además de los interrogatorios, se recolectaron muestras del ave y de la familia involucrada, iniciándose la quimioprofilaxis recomendada. Mediante pruebas de reacción en cadena de la polimerasa (PCR), el laboratorio confirmó la aparición de Chlamydia psittaci, por lo cual quedó configurado el brote de psitacosis.

    Revisión sistemática sobre el aseguramiento de la calidad de requisitos

    Get PDF
    La especificación de requisitos es un artefacto software crucial en el desarrollo de software y su calidad puede tener gran influencia sobre el producto software finalmente implementado, y más aún en un entorno de desarrollo global de software (DGS). Por ello es sumamente importante evaluar/asegurar la calidad de las especificaciones de requisitos. El objetivo de este informe es presentar una revisión sistemática de la literatura (RSL) con el fin de conocer las propuestas existentes sobre como evaluar y/o asegurar la calidad de los requisitos de productos software. La búsqueda de artículos se ha hecho en el periodo comprendido entre el 01/01/1990 y el 30/09/2010 en tres fuentes de búsquedas electrónicas (SCOPUS, ACM y Science Direct). Se han obtenido 67 estudios primarios, clasificado según las siguientes dimensiones: tipo de propuesta, característica de calidad, tipo de artefacto, tipo de software, método de validación, tipo de soporte. Como conclusión podemos decir que si bien todas las propuestas coinciden en la necesidad imperiosa de obtener especificaciones software de calidad debido a que tienen gran impacto económico y en la calidad de los productos software, no existen técnicas de evaluación/aseguramiento de la calidad de los requisitos ampliamente difundidas en la industria, y menos aún en entornos de DGS. Para contribuir a subsanar esta carencia creemos conveniente la utilización métodos empíricos que permitan validar la efectividad de las técnicas propuestas en entornos industriales. Lo que sí parece estar más claro es cuales son las características de calidad más relevantes, ellas son: completitud, consistencia, validación, corrección, no-ambigüedad y entendibilidad.Sociedad Argentina de Informática e Investigación Operativ

    UML consistency rules: a systematic mapping study

    Get PDF
    Context: The Unified Modeling Language (UML), with its 14 different diagram types, is the de-facto standard tool for objectoriented modeling and documentation. Since the various UML diagrams describe different aspects of one, and only one, software under development, they are not independent but strongly depend on each other in many ways. In other words, the UML diagrams describing a software must be consistent. Inconsistencies between these diagrams may be a source of the considerable increase of faults in software systems. It is therefore paramount that these inconsistencies be detected, ana

    Catching up with Method and Process Practice: An Industry-Informed Baseline for Researchers

    Get PDF
    Software development methods are usually not applied by the book.companies are under pressure to continuously deploy software products that meet market needs and stakeholders\u27 requests. To implement efficient and effective development processes, companies utilize multiple frameworks, methods and practices, and combine these into hybrid methods. A common combination contains a rich management framework to organize and steer projects complemented with a number of smaller practices providing the development teams with tools to complete their tasks. In this paper, based on 732 data points collected through an international survey, we study the software development process use in practice. Our results show that 76.8% of the companies implement hybrid methods.company size as well as the strategy in devising and evolving hybrid methods affect the suitability of the chosen process to reach company or project goals. Our findings show that companies that combine planned improvement programs with process evolution can increase their process\u27 suitability by up to 5%

    Fission-fusion dynamics over large distances in raven non-breeders

    Get PDF
    The influence of fission-fusion dynamics, i.e., temporal variation in group size and composition, on social complexity has been studied in large-brained mammals that rely on social bonds. Little is known about birds, even though some species like ravens have recently received attention for their socio-cognitive skills and use of social bonds. While raven breeders defend territories year-round, non-breeders roam through large areas and form groups at food sources or night roosts. We here examined the fission-fusion patterns of non-breeding ravens over years, investigating whether birds meet repeatedly either at the same or at different locations. We combined four large datasets: presence-absence observations from two study sites (Austria, Italy) and GPS-tracking of ravens across two study areas (Austria, France). As expected, we found a highly dynamic system in which individuals with long phases of temporary settlement had a high probability of meeting others. Although GPS-tagged ravens spread out over thousands of square kilometres, we found repeated associations between almost half of the possible combinations at different locations. Such a system makes repeated interactions between individuals at different sites possible and likely. High fission-fusion dynamics may thus not hinder but shape the social complexity of ravens and, possibly, other long-term bonded birds

    Application of ensemble techniques in predicting object-oriented software maintainability

    Get PDF
    While prior object-oriented software maintainability literature acknowledges the role of machine learning techniques as valuable predictors of potential change, the most suitable technique that achieves consistently high accuracy remains undetermined. With the objective of obtaining more consistent results, an ensemble technique is investigated to advance the performance of the individual models and increase their accuracy in predicting software maintainability of the object-oriented system. This paper describes the research plan for predicting object-oriented software maintainability using ensemble techniques. First, we present a brief overview of the main research background and its different components. Second, we explain the research methodology. Third, we provide expected results. Finally, we conclude summary of the current status
    corecore