338 research outputs found

    Remembrance of Our Friend, Sandy Davis

    Get PDF

    DeltaImpactFinder: Assessing Semantic Merge Conflicts with Dependency Analysis

    Get PDF
    In software development, version control systems (VCS) provide branching and merging support tools. Such tools are popular among developers to concurrently change a code-base in separate lines and reconcile their changes automatically afterwards. However, two changes that are correct independently can introduce bugs when merged together. We call semantic merge conflicts this kind of bugs. Change impact analysis (CIA) aims at estimating the effects of a change in a codebase. In this paper, we propose to detect semantic merge conflicts using CIA. On a merge, DELTAIMPACTFINDER analyzes and compares the impact of a change in its origin and destination branches. We call the difference between these two impacts the delta-impact. If the delta-impact is empty, then there is no indicator of a semantic merge conflict and the merge can continue automatically. Otherwise, the delta-impact contains what are the sources of possible conflicts.Comment: International Workshop on Smalltalk Technologies 2015, Jul 2015, Brescia, Ital

    Visually Supporting Source Code Changes Integration: the Torch Dashboard

    Get PDF
    International audienceAutomatic and advanced merging algorithms help programmers to merge their modifications in main development repositories. However, there is little support to help release masters (integrators) to take decisions about the integration of published merged changes into the system release. Most of the time, the release master has to read all the changed code, check the diffs to build an idea of a change, and read unchanged code to understand the context of some changes. Such a task can be overwhelming. In this paper we present a dashboard to support integrators getting an overview of proposed changes in the context of object-oriented programming. Our approach named Torch characterizes changes based on structural information, authors and symbolic information. It mixes text-based diff information with visual representation and metrics characterizing the changes. We describe our experiment applying it to Pharo, a large open-source system, and report on the evaluation of our approach by release masters of several open-source projects

    Ring: a Unifying Meta-Model and Infrastructure for Smalltalk Source Code Analysis Tools

    Get PDF
    International audienceSource code management systems record different versions of code. Tool support can then compute deltas between versions. To ease version history analysis we need adequate models to represent source code entities. Now naturally the questions of their definition, the abstractions they use, and the APIs of such models are raised, especially in the context of a reflective system which already offers a model of its own structure. We believe that this problem is due to the lack of a powerful code meta-model as well as an infrastructure. In Smalltalk, often several source code meta-models coexist: the Smalltalk reflective API coexists with the one of the Refactoring Engine or distributed versioning system such as Monticello or Store. While having specific meta-models is an adequate engineered solution, it multiplies meta-models and it requires more maintenance efforts (e.g., duplication of tests, transformation between models), and more importantly hinders navigation tool reuse when meta-models do not offer polymorphic APIs. As a first step to provide an infrastructure to support history analysis, this article presents Ring, a unifying source code meta-model that can be used to support several activities and proposes a unified and layered approach to be the foundation for building an infrastructure for version and stream of change analyses. We re-implemented three tools based on Ring to show that it can be used as the underlying meta-model for remote and off-image browsing, scoping refactoring, and visualizing and analyzing changes. As a future work and based on Ring we will build a new generation of history analysis tools

    Diseño e implementación de un sistema de control de gestion de seguridad industrial para una empresa que se dedica a la fabricación y distribución de productos quimicos

    Get PDF
    Debido a la manipulación de sustancias químicas de manera directa o indirecta los operarios continuamente presentaban estragos en su salud por la exposición prolongada a estas sustancias, lo cual ocasionó ausentismo en el trabajo por diversos malestares, causando bajas en la producción. Por otro lado se registraron diversos incidentes dentro de la planta que no eran reportados a los supervisores, los cuales eventualmente se convertían en accidentes, además la empresa no contaba con manuales o procedimientos de cómo se debe proceder en caso de un accidente. Por tal motivo el presente proyecto muestra el “Diseño e Implementación de un sistema de control de Gestión de Seguridad Industrial para una empresa que se dedica a la fabricación y distribución de productos químicos”. El objetivo principal con el desarrollo del sistema es mantener un nivel elevado de calidad de vida dentro del ambiente laboral, garantizando la seguridad y la vida misma del personal que labora en la empresa. Se analizaron las causas de los accidentes y problemas en la salud de los operarios en base del análisis de las operaciones, con la finalidad de identificar las condiciones inseguras y actos inseguros que provocaban los accidentes, para posteriormente por medio del diagrama de causa-efecto encontrar las causas raíces que dan lugar a las principales condiciones inseguras. Para el levantamiento de información se analizaron aspectos tales como: Factores de Riesgos y Accidentes de trabajo los cuales permitieron definir métodos de protección y prevención. Al ser identificados estos aspectos se elaboraron formatos donde se registraron el cumplimiento de lo establecido en las normas. Con esto se buscó definir indicadores que permitan controlar y medir la gestión del sistema con respecto a seguridad y salud ocupacional. Una vez diseñado el sistema de gestión de seguridad industrial, se definieron las obligaciones de la dirección, la asignación de responsabilidades, así como también el cumplimiento de las normas establecidas. Partiendo de la preparación y capacitación del personal responsable lo cual permite establecer el sistema como cultura organizacional. Con la implementación del sistema se logra alcanzar que el 98% de los empleados trabajen en condiciones seguras, prevenir enfermedades laborables y obtener un 95% de evaluaciones positivas con respecto a las normas

    Visually Characterizing Source Code Changes

    Get PDF
    International audienceRevision Control Systems (e.g., SVN, Git, Mercurial) include automatic and advanced merging algorithms that help developers to merge their modifications with development repositories. While these systems can help to textually detect conflicts, they do not help to identify the semantic consequences of a change. Unfortunately, there is little support to help release masters (integrators) to take decisions about the integration of changes into the system release. Most of the time, the release master needs to read all the modified code, check the diffs to build an idea of a change, and dig for details from related unchanged code to understand the context and potential impact of some changes. As a result, such a task can be overwhelming. In this article we present a visualization tool to support integrators of object-oriented programs in comprehending changes. Our approach named Torch characterizes changes based on structural informa- tion, authors and symbolic information. It mixes text-based diff information with visual representation and metrics characterizing the changes. The current implementation of our approach analyses Smalltalk programs, and thus we de- scribe our experiments applying it to Pharo, a large open-source system. We also report on the evaluations of our approach by release masters and developers of several open-source projects

    Supporting Streams of Changes during Branch Integration

    Get PDF
    International audienceWhen developing large applications, integrators face the problem of integrating changes between branches or forks. While version control systems provide support for merging changes, this support is mostly text-based, and does not take the program entities into account. Furthermore, there exists no support for assessing which other changes a particular change depends on have to be integrated. Consequently, integrators are left to perform a manual and tedious comparison of the changes within the sequence of their branch and to successfully integrate them. In this paper, we present an approach that analyzes changes within a sequence of changes (stream of changes): such analysis identifies and characterizes dependencies between the changes. The approach identifies changes as autonomous, only used by others, only using other changes, or both. Such a characterization aims at easing the integrator's work. In addition, the approach supports important queries that an integrator otherwise has to perform manually. We applied the approach to a stream of changes representing 5 years of development work on an open- source project and report our experiences

    Meta-models and Infrastructure for Smalltalk Omnipresent History

    Get PDF
    International audienceSource code management systems record different versions of code. Tool support can then com- pute deltas between versions. However there is little support to be able to perform history-wide queries and analysis: for example building slices of changes and identifying their differences since the beginning of the project. We believe that this is due to the lack of a powerful code meta- model as well as an infrastructure. For example, in Smalltalk often several source code meta- models coexist: the Smalltalk reflective API coexists with the one of the Refactoring engine or distributed versioning system. While having specific meta-models is an engineered solution, it hampers meta-models manipulation as it requires more maintenance efforts (e.g., duplication of tests, transformation between models), and more importantly navigation tool reuse. As a first step to solve this problem, this article presents several source code models that could be used to support several activities and proposes an unified and layered approach to be the foundation for building an infrastructure for omnipresent version browsing

    Breeze Bar-lounge

    Get PDF
    Breeze Bar-lounge projects itself as a food and beverage company in the hospitality industry, with an original offer of cocktails presented as popsicles or ice creams in a modern and relaxed atmosphere. The project was developed for a young target market in Cumbayá valley located in the city of Quito, where people from the university and the neighborhood could enjoy a different alternative for nightlife.Breeze Bar-lounge se proyecta como una empresa de alimentos y bebidas en la industria de la Hospitalidad, con una oferta original de cocteles en presentación de paletas o copas de helado dentro de un ambiente moderno y relajado. El proyecto fue desarrollado para un mercado objetivo joven en el valle de Cumbayá de la ciudad de Quito, donde universitarios y habitantes de la zona puedan disfrutar de una alternativa diferente de diversión nocturna

    Pensamiento Complejo, Bases Para Una Teoria Holistica De La Educacion Superior En El Rediseño Curricular/Complex Thinking, Bases for a Holistic Theory of Higher Education in Curricular Redesign

    Get PDF
    El objetivo del presente artículo, consiste en realizar una reflexión sobre la perspectiva epistemológica de la complejidad desde las perspectivas de las ciencias. En este sentido, se defiende que un enfoque holístico puede servir de ayuda activa en la enseñanza de la complejidad desde un enfoque crítico y reflexivo amparados en nuevos paradigmas. Después de la relación del pensamiento complejo y la perspectiva holística en el aprendizaje con la dimensión mente que piensa, mente que siente, y mente intuitiva en la educación, trazamos la posibilidad de configurar diseños curriculares de aprendizaje relacionalmente desde la reflexión teórica donde se destaca los nuevos contenidos y asignaturas y la teoría fundamentada en la praxis que radica, en identificar procesos sociales mediante la construcción de teoría a partir de la realidad objetiva. Terminamos formulando desde la perspectiva filosófica y desde la concepción de la realidad se desprende, metódicamente, tres tipos de formaciones profesionales integradas y simultáneas, a partir de las cuales los profesionales en formación adquieren conocimientos, valores y prácticas demostrables transversalmente, durante toda su formación. The objective of the present article consists of the analysis of the new paradigms of the holistic education and its repercussions on higher education defined by the complexity and multidisciplinary. In this sense it is argued that a holistic approach can serve as an active help in the teaching of complexity from a critical and reflexive approach supported by new paradigms. After the relation complex thought and the holistic perspective in learning with the dimension thinking mind, feeling mind and intuitive mind in education, we design the possibility of figuring out learning curricular designs rationally from the theoretical reflection where the new contents and subject matters are outstanding as well as the theory based on the praxis which leads to identify social processes through the construction of theory from objective reality. We conclude by formulating from the philosophical perspective and the reality conception methodically three types of integrated and simultaneous professional formations from which professionals in formation acquire knowledge, cross demonstrable practices and values during all their formation. Palabras claves: Pensamiento complejo, educación holística, cerebro triuno afecto, rediseño curricular. Keywords: Complex thought, holistic education, triune brain, curricular redesign
    corecore