5 research outputs found
Toma de decisiones cientÃfica en la ingenierÃa de software mediante inteligencia computacional y análisis de datos
La adopción de herramientas formales que complementen la experiencia y el buen juicio en las distintas actividades de un proceso de desarrollo de software todavÃa es un pendiente dentro la industria del software. La falta de conocimientos respecto de enfoques realistas para resolver problemas de la IS y la falta de herramientas software que auxilien a los tomadores de decisiones utilizando tales enfoques son dos carencias que pueden explicar las dificultades en esta adopción. Las lÃneas de investigación aquà propuestas tienden a suplir ambas. Para esta tarea se propone la utilización de tanto técnicas comprendidas en lo que se conoce como Inteligencia Computacional (IC), dentro de las cuales se encuentran la teorÃa de conjuntos difusos, las redes neuronales y la computación evolutiva, como también de herramientas de la Ciencia de Datos, incluyendo técnicas de aprendizaje automático, estadÃsticas y visualización de datos, entre otros. Estas técnicas son capaces de brindar la flexibilidad necesaria para crear métodos y modelos que sean tolerantes a la imprecisión, la falta de información y la aproximación, caracterÃsticas que le son propias a los contextos de decisión en la IS.Eje: IngenierÃa de Software.Red de Universidades con Carreras en Informátic
Toma de decisiones multicriterio en problemas de la ingenierÃa de software utilizando computación blanda
La IngenierÃa de Software (IS) como la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software. Sin embargo, la adopción de herramientas formales que complementen la experiencia y el buen juicio en las distintas actividades de un proceso de desarrollo de software todavÃa es un pendiente dentro la industria del software, particularmente en la Argentina. Dos carencias que pueden explicar esto son, por un lado, la falta de conocimientos respecto de enfoques realistas para resolver problemas relativos a la IS, y por otro, la falta de herramientas software que auxilien a los tomadores de decisiones utilizando tales enfoques. Las lÃneas de investigación aquà propuestas tienden a suplir ambas carencias. Para esta tarea se propone la utilización de técnicas comprendidas en lo que se conoce como computación blanda (soft computing), dentro de las cuales se encuentran la TeorÃa de Conjuntos Difusos, las Redenes Neuronales y los métodos de Búsqueda HeurÃstica y MetaheurÃstica. La soft computing es capaz de brindar la flexibilidad necesaria para crear métodos y modelos que sean tolerantes a la imprecisión, la falta de información y la aproximación, caracterÃsticas que le son propias a los contextos de decisión en la IS.Eje: IngenierÃa de Software.Red de Universidades con Carreras en Informátic
Search-based crash reproduction using behavioural model seeding
Search-based crash reproduction approaches assist developers during debugging
by generating a test case which reproduces a crash given its stack trace. One
of the fundamental steps of this approach is creating objects needed to trigger
the crash. One way to overcome this limitation is seeding: using information
about the application during the search process. With seeding, the existing
usages of classes can be used in the search process to produce realistic
sequences of method calls which create the required objects. In this study, we
introduce behavioral model seeding: a new seeding method which learns class
usages from both the system under test and existing test cases. Learned usages
are then synthesized in a behavioral model (state machine). Then, this model
serves to guide the evolutionary process. To assess behavioral model-seeding,
we evaluate it against test-seeding (the state-of-the-art technique for seeding
realistic objects) and no-seeding (without seeding any class usage). For this
evaluation, we use a benchmark of 124 hard-to-reproduce crashes stemming from
six open-source projects. Our results indicate that behavioral model-seeding
outperforms both test seeding and no-seeding by a minimum of 6% without any
notable negative impact on efficiency
LASSO – an observatorium for the dynamic selection, analysis and comparison of software
Mining software repositories at the scale of 'big code' (i.e., big data) is a challenging activity. As well as finding a suitable software corpus and making it programmatically accessible through an index or database, researchers and practitioners have to establish an efficient analysis infrastructure and precisely define the metrics and data extraction approaches to be applied. Moreover, for analysis results to be generalisable, these tasks have to be applied at a large enough scale to have statistical significance, and if they are to be repeatable, the artefacts need to be carefully maintained and curated over time. Today, however, a lot of this work is still performed by human beings on a case-by-case basis, with the level of effort involved often having a significant negative impact on the generalisability and repeatability of studies, and thus on their overall scientific value.
The general purpose, 'code mining' repositories and infrastructures that have emerged in recent years represent a significant step forward because they automate many software mining tasks at an ultra-large scale and allow researchers and practitioners to focus on defining the questions they would like to explore at an abstract level. However, they are currently limited to static analysis and data extraction techniques, and thus cannot support (i.e., help automate) any studies which involve the execution of software systems. This includes experimental validations of techniques and tools that hypothesise about the behaviour (i.e., semantics) of software, or data analysis and extraction techniques that aim to measure dynamic properties of software.
In this thesis a platform called LASSO (Large-Scale Software Observatorium) is introduced that overcomes this limitation by automating the collection of dynamic (i.e., execution-based) information about software alongside static information. It features a single, ultra-large scale corpus of executable software systems created by amalgamating existing Open Source software repositories and a dedicated DSL for defining abstract selection and analysis pipelines. Its key innovations are integrated capabilities for searching for selecting software systems based on their exhibited behaviour and an 'arena' that allows their responses to software tests to be compared in a purely data-driven way. We call the platform a 'software observatorium' since it is a place where the behaviour of large numbers of software systems can be observed, analysed and compared
XXIII Edición del Workshop de Investigadores en Ciencias de la Computación : Libro de actas
Compilación de las ponencias presentadas en el XXIII Workshop de Investigadores en Ciencias de la Computación (WICC), llevado a cabo en Chilecito (La Rioja) en abril de 2021.Red de Universidades con Carreras en Informátic