14 research outputs found
Técnicas de prueba avanzadas para la generación de casos de prueba
Software testing is a crucial phase in software development, particularly in contexts such
as critical systems, where even minor errors can have severe consequences. The advent of
Industry 4.0 brings new challenges, with software present in almost all industrial systems.
Overcoming technical limitations, as well as limited development times and budgets, is
a major challenge that software testing faces nowadays. Such limitations can result in
insufficient attention being paid to it.
The Bay of Cadiz’s industrial sector is known for its world-leading technological projects,
with facilities and staff fully committed to innovation. The close relationship between
these companies and the University of Cadiz allows for a constant exchange between
industry and academia.
This PhD thesis aims to identify the most important elements of software testing in
Industry 4.0, based on close industrial experience and the latest state-of-the-art work.
This allows us to break down the software testing process in a context where large teams
work on large-scale, changing projects with numerous dependencies. It also allows us to
estimate the percentage benefit that a solution could provide to test engineers throughout
the process.
Our results indicate a need for non-commercial, flexible, and adaptable solutions for
the automation of software testing, capable of meeting the constantly changing needs of
industry projects. This work provides a comprehensive study on the industry’s needs and
motivates the development of two new solutions using state-of-the-art technologies, which
are rarely present in industrial work. These results include a tool, ASkeleTon, which
implements a procedure for generating test harnesses based on the Abstract Syntax Tree
(AST) and a study examining the ability of the Dynamic Symbolic Execution (DSE)
testing technique to generate test data capable of detecting potential faults in software.
This study leads to the creation of a novel family of testing techniques, called mutationinspired symbolic execution (MISE), which combines DSE with mutation testing (MT)
to produce test data capable of detecting more potential faults than DSE alone. The
findings of this work can serve as a reference for future research on software testing in
Industry 4.0.
The solutions developed in this PhD thesis are able to automate essential tasks in software testing, resulting in significant potential benefits. These benefits are not only for
the industry, but the creation of the new family of testing techniques also represents a
promising line of research for the scientific community, benefiting all software projects
regardless of their field of application.La prueba del software es una de las etapas más importantes durante el desarrollo de software, especialmente en determinados tipos de contextos como el de los sistemas críticos, donde el más mínimo fallo puede conllevar la más grave de las consecuencias. Nuevos paradigmas tecnológicos como la Industria 4.0 conllevan desafíos que nunca antes se habían planteado, donde el software está presente en prácticamente todos los sistemas industriales. Uno de los desafíos más importantes a los que se enfrenta la prueba del software consiste en superar las limitaciones técnicas además de los tiempos de desarrollo y presupuestos limitados, que provocan que en ocasiones no se le preste la atención que merece.
El tejido industrial de la Bahía de Cádiz es conocido por sacar adelante proyectos tecnológicos punteros a nivel mundial, con unas instalaciones y un personal totalmente implicado con la innovación. Las buenas relaciones de este conjunto de empresas con la Universidad de Cádiz, sumadas a la cercanía geográfica, permiten que haya una conversación constante entre la industria y la academia.
Este trabajo de tesis persigue identificar los elementos más importantes del desarrollo de la prueba del software en la Industria 4.0 en base a una experiencia industrial cercana, además de a los últimos trabajos del estado del arte. Esto permite identificar cada etapa en la que se desglosa la prueba del software en un contexto donde trabajan equipos muy grandes con proyectos de gran envergadura, cambiantes y con multitud de dependencias. Esto permite, además, estimar el porcentaje de beneficio que podría suponer una solución que ayude a los ingenieros de prueba durante todo el proceso.
Gracias a los resultados de esta experiencia descubrimos que existe la necesidad de soluciones para la automatización de la prueba del software que sean no comerciales, flexibles y adaptables a las constantes necesidades cambiantes entre los proyectos de la industria.
Este trabajo aporta un estudio completo sobre las necesidades de la industria en relación a la prueba del software. Los resultados motivan el desarrollo de dos nuevas soluciones que utilizan tecnologías del estado del arte, ampliamente usadas en trabajos académicos, pero raramente presentes en trabajos industriales. En este sentido, se presentan dos resultados principales que incluyen una herramienta que implementa un procedimiento para la generación de arneses de prueba basada en el Árbol de Sintaxis Abstracta (AST) a la que llamamos ASkeleTon y un estudio donde se comprueba la capacidad de la técnica de pruebas Ejecución Simbólica Dinámica (DSE, por sus siglas en inglés) para generar datos de prueba capaces de detectar fallos potenciales en el software. Este estudio deriva en la creación de una novedosa familia de técnicas de prueba a la que llamamos mutation-inspired symbolic execution (MISE) que combina DSE con la prueba de mutaciones (MT, por sus siglas en inglés) para conseguir un conjunto de datos de prueba capaz de detectar más fallos potenciales que DSE por sí sola.
Las soluciones desarrolladas en este trabajo de tesis son capaces de automatizar parte de la prueba del software, resultando en unos beneficios potenciales importantes. No solo se aportan beneficios a la industria, sino que la creación de la nueva familia de técnicas de prueba supone una línea de investigación prometedora para la comunidad científica, siendo beneficiados todos los proyectos software independientemente de su ámbito de aplicación
Mutation-inspired symbolic execution for software testing
Software testing is a complex and costly stage during the software development lifecycle. Nowadays, there is a wide variety of solutions to reduce testing costs and improve test quality. Focussing on test case generation, Dynamic Symbolic Execution (DSE) is used to generate tests with good structural coverage. Regarding test suite evaluation, Mutation Testing (MT) assesses the detection capability of the test cases by introducing minor localised changes that resemble real faults. DSE is however known to produce tests that do not have good mutation detection capabilities: in this paper, the authors set out to solve this by combining DSE and MT into a new family of approaches that the authors call Mutation-Inspired Symbolic Execution (MISE). First, this known result on a set of open source programs is confirmed: DSE by itself is not good at killing mutants, detecting only 59.9% out of all mutants. The authors show that a direct combination of DSE and MT (naive MISE) can produce better results, detecting up to 16% more mutants depending on the programme, though at a high computational cost. To reduce these costs, the authors set out a roadmap for more efficient versions of MISE, gaining its advantages while avoiding a large part of its additional costs
Interactivity in the Generation of Test Cases with Evolutionary Computation
Test generation is a costly but necessary testing activity to increase the quality of software projects. Automated testing tools based on evolutionary computation principles constitute an appealing modern approach to support testing tasks. However, these tools still find difficulties to detect certain types of plausible faults in real-world projects. Besides, recent studies have shown that, in general, automatically-generated tests do not resemble those manually written and, consequently, testers are reluctant to adopt them. We observe two key issues, namely the opacity of the process and the lack of cooperation with the tester, currently hampering the acceptance of automated results. Based on these findings, we explore in this paper how the interaction between current tools and expert testers would help address the test case generation problem. More specifically, we identify a number of interaction opportunities related to the object-oriented test case design driven to boost their readability and detection power. Using EvoSuite as base implementation, we present a proof of concept focused on the possibility to integrate readability assessment of the most promising test suites into a genetic algorithm.Work partially funded by the European Commission (ERDF), the Spanish Ministry of Science, Innovation and Universities [RTI2018-093608-BC33 and RED2018-102472-T], the University of Cordoba (Plan Propio - mod. 2.4), and the University of Malag
INTEREVO-TR: Interactive Evolutionary Test Generation with Readability Assessment
Automated test case generation has proven to be useful to reduce the usually high expenses of software testing. However, several studies have also noted the skepticism of testers regarding the comprehension of generated test suites when compared to manually designed ones. This fact suggests that involving testers in the test generation process could be helpful to increase their acceptance of automatically-produced test suites. In this paper, we propose incorporating interactive readability assessments made by a tester into EvoSuite, a widely-known evolutionary test generation tool. Our approach, InterEvo-TR, interacts with the tester at different moments during the search and shows different test cases covering the same coverage target for their subjective evaluation. The design of such an interactive approach involves a schedule of interaction, a method to diversify the selected targets, a plan to save and handle the readability values, and some mechanisms to customize the level of engagement in the revision, among other aspects. To analyze the potential and practicability of our proposal, we conduct a controlled experiment in which 39 participants, including academics, professional developers, and student collaborators, interact with InterEvo-TR. Our results show that the strategy to select and present intermediate results is effective for the purpose of readability assessment. Furthermore, the participants' actions and responses to a questionnaire allowed us to analyze the aspects influencing test code readability and the benefits and limitations of an interactive approach in the context of test case generation, paving the way for future developments based on interactivity
An original phylogenetic approach identified mitochondrial haplogroup T1a1 as inversely associated with breast cancer risk in BRCA2 mutation carriers
Introduction: Individuals carrying pathogenic mutations in the BRCA1 and BRCA2 genes have a high lifetime risk of breast cancer. BRCA1 and BRCA2 are involved in DNA double-strand break repair, DNA alterations that can be caused by exposure to reactive oxygen species, a main source of which are mitochondria. Mitochondrial genome variations affect electron transport chain efficiency and reactive oxygen species production. Individuals with different mitochondrial haplogroups differ in their metabolism and sensitivity to oxidative stress. Variability in mitochondrial genetic background can alter reactive oxygen species production, leading to cancer risk. In the present study, we tested the hypothesis that mitochondrial haplogroups modify breast cancer risk in BRCA1/2 mutation carriers. Methods: We genotyped 22,214 (11,421 affected, 10,793 unaffected) mutation carriers belonging to the Consortium of Investigators of Modifiers of BRCA1/2 for 129 mitochondrial polymorphisms using the iCOGS array. Haplogroup inference and association detection were performed using a phylogenetic approach. ALTree was applied to explore the reference mitochondrial evolutionary tree and detect subclades enriched in affected or unaffected individuals. Results: We discovered that subclade T1a1 was depleted in affected BRCA2 mutation carriers compared with the rest of clade T (hazard ratio (HR) = 0.55; 95% confidence interval (CI), 0.34 to 0.88; P = 0.01). Compared with the most frequent haplogroup in the general population (that is, H and T clades), the T1a1 haplogroup has a HR of 0.62 (95% CI, 0.40 to 0.95; P = 0.03). We also identified three potential susceptibility loci, including G13708A/rs28359178, which has demonstrated an inverse association with familial breast cancer risk. Conclusions: This study illustrates how original approaches such as the phylogeny-based method we used can empower classical molecular epidemiological studies aimed at identifying association or risk modification effects.Peer reviewe
Multiancestry analysis of the HLA locus in Alzheimer’s and Parkinson’s diseases uncovers a shared adaptive immune response mediated by HLA-DRB1*04 subtypes
Across multiancestry groups, we analyzed Human Leukocyte Antigen (HLA) associations in over 176,000 individuals with Parkinson’s disease (PD) and Alzheimer’s disease (AD) versus controls. We demonstrate that the two diseases share the same protective association at the HLA locus. HLA-specific fine-mapping showed that hierarchical protective effects of HLA-DRB1*04 subtypes best accounted for the association, strongest with HLA-DRB1*04:04 and HLA-DRB1*04:07, and intermediary with HLA-DRB1*04:01 and HLA-DRB1*04:03. The same signal was associated with decreased neurofibrillary tangles in postmortem brains and was associated with reduced tau levels in cerebrospinal fluid and to a lower extent with increased Aβ42. Protective HLA-DRB1*04 subtypes strongly bound the aggregation-prone tau PHF6 sequence, however only when acetylated at a lysine (K311), a common posttranslational modification central to tau aggregation. An HLA-DRB1*04-mediated adaptive immune response decreases PD and AD risks, potentially by acting against tau, offering the possibility of therapeutic avenues
Software de apoyo a la automatización de la técnica de pruebas metamórficas en composiciones WS-BPEL
Se ha desarrollado una idea que plantea la posibilidad de ayudar a la obtención de relaciones metamórficas para la aplicación de la técnica de pruebas metamórficas en las composiciones WS-BPEL además de proveer un método que permita la automatización de esta tarea por parte de otras herramientas. La complejidad de este proceso en la mayoría de los casos hace que un informe que detalle los elementos clave de las composiciones resulte de gran utilidad para la persona encargada del análisis y para otras herramientas, de manera que ninguno de ellos debe explorar los ficheros en formato XML.
Una vez que esta idea ha tenido forma, se ha desarrollado una herramienta que heredando módulos de herramientas ya existentes e implementando unos propios, a partir de una composición WS-BPEL y un caso de prueba BPTS es capaz de generar un informe con la información más relevante a la hora de obtener relaciones metamórficas. Este informe se presenta en dos formatos para satisfacer todas las necesidades, uno JSON y otro TXT, de manera que el JSON puede ser utilizado para la automatización propuesta y el TXT por la persona encargada de analizar la composición
Data and material for the manuscript "Mutation testing and self/peer assessment: analyzing their effect on students in a software testing course"
This repository is composed of two different parts:
Assessment data and Mutation Scores file contains the student-generated data used in the experience.
Experience-material file contains the files to be able to reproduce the experience.
The Experience-material file for the lab is used in two sessions:
Session 1: Development and assessment of test suites
In this session, the student has to develop a test suite for a program under test. At the end of the session, the test suite will be evaluated against a set of assessment criteria regarding the quality of the developed test suite.
Files for this session:
VVS-Lab6-S1 pdf file , with the description of this session.
Material-S1 zip file, with the files required to complete this session.
Session 2: Evaluation applying mutation testing with MuCPP
In this session, the test cases designed in the first part of this lab will be evaluated based on the mutation adequacy criterion. This will be done by using the MuCPP mutation tool.
Files for this session:
VVS-Lab6-S2 pdf file, with the description of this session.
Material-S2 zip file, with the files required to complete this session.
The source code files family.[cpp|hpp] have been adapted from a listing in [1]. Note that, while considered to be fault free in this lab, these source files are used in other sessions where students are expected to detect some defects in them
Carotenoides en agroalimentación y salud
Los carotenoides son compuestos especiales; si bien es común referirse a ellos como
pigmentos, lo cierto es que son compuestos de gran versatilidad e importancia en la
naturaleza. Más específicamente, son de gran interés en agroalimentación y salud.
Así, por ejemplo, son pigmentos naturales y por lo tanto tienen un importante papel en
la elección de alimentos por parte de los consumidores. Asimismo, algunos de ellos
son precursores de la vitamina A. Sin embargo, que cada vez exista más interés en los
carotenoides en este contexto se debe en gran parte a muchos estudios de distinta
naturaleza que indican que pueden proporcionar beneficios para la salud. Su interés
en alimentación funcional es por lo tanto indudable.
En este libro se refleja la experiencia en carotenoides de un gran número de
profesionales de la región iberoamericana. En conjunto, se ofrece una visión general
de la investigación sobre estos compuestos en agroalimentación y salud. Los autores
son miembros de la red ibercarot (http://carotenoides.us.es), que tiene entre sus
objetivos conformar una red estable y funcional de profesionales que aúnen esfuerzos
en pos de identificar nuevas fuentes de carotenoides de interés nutricional, mejorar su
producción y aumentar el valor de los productos que los contengan.
Me gustaría agradecer a todas y cada una de las personas que han contribuido de
una u otra forma a que este libro sea una realidad. Todos esperamos que sea de
ayuda para personas interesadas en los temas desarrollados. Gracias especialmente
al Programa Iberoamericano de Ciencia y Tecnología para el Desarrollo (Cyted, http://
www.cyted.org/) que, con su apoyo económico a la red ibercarot, ha hecho posible
que varias decenas de equipos interaccionen en torno a temas de interés común para
contribuir al desarrollo a distintos niveles de la región iberoamericana.RED TEMÁTICA IBERCAROT (referencia 112RT445) http://carotenoides.us.es
PROGRAMA IBEROAMERICANO DE CIENCIA Y TECNOLOGIA PARA EL DESARROLLO – CYTEDPeer reviewe
Common variants in Alzheimer’s disease and risk stratification by polygenic risk scores
Genetic discoveries of Alzheimer’s disease are the drivers of our understanding, and together with polygenetic risk stratification can contribute towards planning of feasible and efficient preventive and curative clinical trials. We first perform a large genetic association study by merging all available case-control datasets and by-proxy study results (discovery n = 409,435 and validation size n = 58,190). Here, we add six variants associated with Alzheimer’s disease risk (near APP, CHRNE, PRKD3/NDUFAF7, PLCG2 and two exonic variants in the SHARPIN gene). Assessment of the polygenic risk score and stratifying by APOE reveal a 4 to 5.5 years difference in median age at onset of Alzheimer’s disease patients in APOE ɛ4 carriers. Because of this study, the underlying mechanisms of APP can be studied to refine the amyloid cascade and the polygenic risk score provides a tool to select individuals at high risk of Alzheimer’s disease