Examinando por Materia "LENGUAJES DE PROGRAMACION"
Mostrando1 - 14 de 14
Resultados por página
Opciones de clasificación
- PósterAnálisis de imágenes para reproductor tipo MIDI en tiempo real(2017) García Eleisequi, Santiago; Copati, Alejandro Daniel; Gatti, Luciana Melina"El objetivo del proyecto es poder detectar colores en una imagen y realizar un seguimiento de los mismos; para posteriormente enlazarlos con un determinado sonido. Para poder realizar dichas operaciones se investigaron métodos de análisis aplicables a una imagen; tales como “Espacios de colores”, “Object Tracking” y “Operaciones Morfológicas”."
- Artículo de Publicación PeriódicaAutomated workarounds from Java program specifications based on SAT solving(2018-11) Uva, Marcelo; Ponzio, Pablo; Regis, Germán; Aguirre, Nazareno; Frías, Marcelo"The failures that bugs in software lead to can sometimes be bypassed by the so-called workarounds: when a (faulty) routine fails, alternative routines that the system offers can be used in place of the failing one, to circumvent the failure. Existing approaches to workaround-based system recovery consider workarounds that are produced from equivalent method sequences, utomatically computed from user-provided abstract models, or directly produced from user-provided equivalent sequences of operations. In this paper, we present two techniques for computing workarounds from Java code equipped with formal specifications, that improve previous approaches in two respects. First, the particular state where the failure originated is actively involved in computing workarounds, thus leading to repairs that are more state specific. Second, our techniques automatically compute workarounds on concrete program state characterizations, avoiding abstract software models and user-provided equivalences. The first technique uses SAT solving to compute a sequence of methods that is equivalent to a failing method on a specific failing state, but which can also be generalized to schemas for workaround reuse. The second technique directly exploits SAT to circumvent a failing method, building a state that mimics the (correct) behaviour of a failing routine, from a specific program state too. We perform an experimental evaluation based on case studies involving implementations of collections and a library for date arithmetic, showing that the techniques can effectively compute workarounds from complex contracts in an important number of cases, in time that makes them feasible to be used for run-time repairs. Our results also show that our state-specific workarounds enable us to produce repairs in many cases where previous workaround-based approaches are inapplicable."
- Ponencia en CongresoAutomated workarounds from Java Program specifications based on SAT solving(2017) Uva, Marcelo; Ponzio, Pablo; Regis, Germán; Aguirre, Nazareno; Frías, Marcelo"The failures that bugs in software lead to can sometimes be bypassed by the so called workarounds: when a (faulty) routine fails, alternative routines that the system offers can be used in place of the failing one, to circumvent the failure. Previous works have exploited this workarounds notion to automatically recover from runtime failures in some application domains. However, existing approaches that compute workarounds automatically either require the user to manually build an abstract model of the software under consideration, or to provide equivalent sequences of operations from which workarounds are computed, diminishing the automation of workaround-based system recovery. In this paper, we present two techniques that automatically compute workarounds from Java code equipped with formal specifications, avoiding abstract software models and user provided equivalences. These techniques employ SAT solving to compute workarounds on concrete program state characterizations. The first employs SAT solving to compute traditional workarounds, while the second directly exploits SAT solving to circumvent a failing method, building a state that mimics the (correct) behaviour of this failing routine. Our experiments, based on case studies involving implementations of collections and a library for date arithmetic, enable us to show that the techniques can effectively compute workarounds from complex contracts in an important number of cases, in time that makes them feasible to be used for run time repairs."
- Ponencia en CongresoBounded exhaustive search of alloy specification repairs(2021) Gutiérrez Brida, Simón; Regis, Germán; Zheng, Guolong; Bagher, Hamid; Nguyen, Thanh Vu; Aguirre, Nazareno; Frías, Marcelo"The rising popularity of declarative languages and the hard to debug nature thereof have motivated the need for applicable, automated repair techniques for such languages. However, despite significant advances in the program repair of imperative languages, there is a dearth of repair techniques for declarative languages. This paper presents BeAFix, an automated repair technique for faulty models written in Alloy, a declarative language based on first-order relational logic. BeAFix is backed with a novel strategy for bounded exhaustive, yet scalable, ex ploration of the spaces of fix candidates and a formally rigorous, sound pruning of such spaces. Moreover, different from the state of-the-art in Alloy automated repair, that relies on the availability of unit tests, BeAFix does not require tests and can work with assertions that are naturally used in formal declarative languages. Our experience with using BeAFix to repair thousands of real world faulty models, collected by other researchers, corroborates its ability to effectively generate correct repairs and outperform the state-of-the-art."
- Proyecto final de GradoEvaluación del entorno de desarrollo Golang como herramienta para la detección de onda dícrota(2019-07-22) Boschetti, Marco; Mogni, Guido Matías; Madorno, Matías"El objetivo principal de este trabajo fue probar el leguaje de desarrollo GoLang en una situación concreta, buscando dar una solución a un problema real. GoLang, también conocido como Go, fue desarrollado por Google en 2007 con el objetivo de mejorar la productividad de los desarrolladores, destacándose por su manejo de conexión de redes de información y multi-procesos concurrentes."
- Ponencia en CongresoFLACK: Counterexample-guided fault localization for alloy models(2021) Zheng, Guolong; Nguyen, Thanh Vu; Gutiérrez Brida, Simón; Regis, Germán; Frías, Marcelo; Aguirre, Nazareno; Bagher, Hamid"Fault localization is a practical research topic that helps developers identify code locations that might cause bugs in a program. Most existing fault localization techniques are designed for imperative programs (e.g., C and Java) and rely on analyzing correct and incorrect executions of the program to identify suspicious statements. In this work, we introduce a fault localization approach for models written in a declarative language, where the models are not “executed,” but rather converted into a logical formula and solved using backend constraint solvers. We present FLACK, a tool that takes as input an Alloy model consisting of some violated assertion and returns a ranked list of suspicious expressions contributing to the assertion violation. The key idea is to analyze the differences between counterexamples, i.e., instances of the model that do not satisfy the assertion, and instances that do satisfy the assertion to find suspicious expressions in the input model. The experimental results show that FLACK is efficient (can handle complex, real world Alloy models with thousand lines of code within 5 seconds), accurate (can consistently rank buggy expressions in the top 1.9% of the suspicious list), and useful (can often narrow down the error to the exact location within the suspicious expressions)."
- Proyecto final de GradoFull ANTLR support for PMD(2019) Soncini, Lucas; De Lucca, Tomás; Fraga, Matías"La diversidad de lenguajes de programación se encuentra en aumento constante. Es importante poder contar con herramientas para poder vericar la calidad del código que se escribe y que ayuden a encontrar los errores más comunes fácilmente. A su vez, es importante que estas herramientas ofrezcan soporte a gran cantidad de lenguajes y que puedan mantenerse actualizadas frente a los cambios de los mismos. PMD es una herramienta de análisis estático de código que soluciona este problema. Sin embargo, la diversidad de lenguajes soportados actualmente es limitada. El objetivo del siguiente proyecto fue poder incorporar soporte completo en PMD a nuevos lenguajes de programación."
- Proyecto final de GradoGenetic Working Space(2017) Ducret, Argentino; Gutiérrez, Ignacio; Parpaglione, María Cristina"Genetic working space es una solución con algoritmos genéticos al problema de elegir una distribución de asientos para un conjunto de empleados, sujeto a restricciones. Para su implementación se utilizó un motor de algoritmos genéticos desarrollado en Java."
- Ponencia en CongresoLearning life cycle in autonomous intelligent systems(2008) Ierache, Jorge; García Martínez, Ramón; De Giusti, Armando"Autonomous Intelligent Systems (AIS) integrate planning, learning, and execution in a closed loop, showing an autonomous intelligent behavior. A Learning Life Cycle (LLC) Operators, Trained Base Operators and World Interaction Operators. The extension of the original architecture to support the new type of operators is presented."
- Ponencia en CongresoMethods and frameworks for sampling 𝒢I0 data(2017) Chan, Debora; Rey, Andrea; Gambini, Juliana; Cassetti, Julia; Frery, Alejandro C."The 𝒢I0 distribution is a competitive tool for SAR image description. This distribution is useful for describing speckled imagery because it models adequately areas with different degrees of texture. Data simulation is crucial for the development of new methods of automatic interpretation of this type of images. We compare four alternatives for generating data under the 𝒢I0 distribution. The experiments are performed on a variety of programming languages and, a number of criteria to test the fidelity of the generated data are applied."
- Ponencia en CongresoRE-SPaM: Using regular expressions for sequential pattern mining in trajectory databases(2008) Gómez, Leticia Irene; Vaisman, Alejandro Ariel"In sequential pattern mining, languages based on regular expressions (RE) were proposed to restrict frequent sequences to the ones that satisfy user-specified constraints. In these languages, REs are applied over items. We propose a much powerful language, based on regular expressions, denoted RE-SPaM, where the basic elements are constraints over the attributes of the items. Expressions in this language may include attributes, functions over attributes, and variables. We present the data model, sketch the syntax and semantics of RE-SPaM, a set of examples, and suggest how RE-SPaM can be used in the mining process."
- Artículo de Publicación PeriódicaSampling from the 𝒢I0 distribution(2018-12) Chan, Debora; Rey, Andrea; Gambini, Juliana; Frery, Alejandro C."Synthetic Aperture Radar (SAR) images are widely used in several environmental applications because they provide information which cannot be obtained with other sensors. The 𝒢I0 distribution is an important model for these images because of its flexibility (it provides a suitable way for modeling areas with different degrees of texture, reflectivity and signal-to-noise ratio) and tractability (it is closely related to the Snedekor-F, Pareto Type II, and Gamma distributions). Simulated data are important for devising tools for SAR image processing, analysis and interpretation, among other applications. We compare four ways for sampling data that follow the 𝒢I0 distribution, using several criteria for assessing the quality of the generated data and the consumed processing time. The experiments are performed running codes in four different programming languages. The experimental results indicate that although there is no overall best method in all the considered programming languages, it is possible to make specific recommendations for each one."
- PósterTETRIS(2016) Merello, Ramiro; Reina Kiperman, Gonzalo Julián"TETRIS programado para el microcontrolador HC12, que se muestra en una pantalla de LEDS multicolor (RGB), controlado con un joystick tipo arcade. Tiene un display numérico que indica el puntaje obtenido. El trabajo se realizó con fines didácticos para implementar lo aprendido en las materia de Programación I e Introducción a la Computación (ambas de 1er año)."
- Ponencia en CongresoTowards temporal graph database(2016) Campos, Alexander; Mozzino, Jorge; Vaisman, Alejandro Ariel"In spite of the extensive literature on graph databases (GDBs), temporal GDBs have not received too much attention so far. Tempo ral GBDs can capture, for example, the evolution of social networks across time, a relevant topic in data analysis nowadays. We propose a data model and query language (denoted TEG-QL) for temporal GDBs, based on the notion of attribute graphs. This allows a straightforward translation to Neo4J, a well-known GBD."