137 research outputs found
Physical parameter eclipse mapping of the quiescent disc in V2051 Ophiuchi
We analyse simultaneous UBVR quiescent light curves of the cataclysmic variable V2051 Oph using the Physical Parameter Eclipse Mapping (PPEM) method in order to map the gas temperature and surface density of the disc for the first time. The disc appears optically thick in the central regions, and gradually becomes optically thin towards the disc edge or shows a more and more dominating temperature inversion in the disc chromosphere. The gas temperatures in the disc range from about 13 500 K near the white dwarf to about 6000 K at the disc edge. The intermediate part of the disc has temperatures of 9000 to 6500 K
Bringing Agriculture into the GATT: Designing Acceptable Agricultural Policies
Agricultural and Food Policy, International Relations/Trade,
Mutation Testing as a Safety Net for Test Code Refactoring
Refactoring is an activity that improves the internal structure of the code
without altering its external behavior. When performed on the production code,
the tests can be used to verify that the external behavior of the production
code is preserved. However, when the refactoring is performed on test code,
there is no safety net that assures that the external behavior of the test code
is preserved. In this paper, we propose to adopt mutation testing as a means to
verify if the behavior of the test code is preserved after refactoring.
Moreover, we also show how this approach can be used to identify the part of
the test code which is improperly refactored
A Study of Equivalent and Stubborn Mutation Operators using Human Analysis of Equivalence
Though mutation testing has been widely studied for more than thirty years, the prevalence and properties of equivalent mutants remain largely unknown. We report on the causes and prevalence of equivalent mutants and their relationship to stubborn mutants (those that remain undetected by a high quality test suite, yet are non-equivalent). Our results, based on manual analysis of 1,230 mutants from 18 programs, reveal a highly uneven distribution of equivalence and stubbornness. For example, the ABS class and half UOI class generate many equivalent and almost no stubborn mutants, while the LCR class generates many stubborn and few equivalent mutants. We conclude that previous test effectiveness studies based on fault seeding could be skewed, while developers of mutation testing tools should prioritise those operators that we found generate disproportionately many stubborn (and few equivalent) mutants
Traceability for Mutation Analysis in Model Transformation
International audienceModel transformation can't be directly tested using program techniques. Those have to be adapted to model characteristics. In this paper we focus on one test technique: mutation analysis. This technique aims to qualify a test data set by analyzing the execution results of intentionally faulty program versions. If the degree of qualification is not satisfactory, the test data set has to be improved. In the context of model, this step is currently relatively fastidious and manually performed. We propose an approach based on traceability mechanisms in order to ease the test model set improvement in the mutation analysis process. We illustrate with a benchmark the quick automatic identification of the input model to change. A new model is then created in order to raise the quality of the test data set
Coverage-based quality metric of mutation operators for test suite improvement
The choice of mutation operators is a fundamental aspect in mutation testing to guide the tester to an effective test suite. Designing a set of mutation operators is subject to a trade-off between effectiveness and computational cost: a larger mutation population might uncover more faults, but will take longer to analyse. With the aim of resolving this trade-off, several authors have defined an assortment of metrics to determine the most valuable operators. In this work, we extend an existing quality metric by incorporating an additional source of data and coverage information and therefore investigate the extent to which mutants that are often covered but rarely killed can improve the evaluation of mutation operators for the refinement of the test suite. As a case study, we analyse C++ class-level operators based on the new coverage-based quality metric to assess whether the original metric is enhanced. The results when selecting the best-valued operators show that this metric has great potential to help the tester in finding effective mutation operators. In comparison with the metric from which it is derived, the use of coverage data allows to reduce the number of mutants but often loses fewer test cases and, in addition, retains those that seem hard to design
Structural Learning of Attack Vectors for Generating Mutated XSS Attacks
Web applications suffer from cross-site scripting (XSS) attacks that
resulting from incomplete or incorrect input sanitization. Learning the
structure of attack vectors could enrich the variety of manifestations in
generated XSS attacks. In this study, we focus on generating more threatening
XSS attacks for the state-of-the-art detection approaches that can find
potential XSS vulnerabilities in Web applications, and propose a mechanism for
structural learning of attack vectors with the aim of generating mutated XSS
attacks in a fully automatic way. Mutated XSS attack generation depends on the
analysis of attack vectors and the structural learning mechanism. For the
kernel of the learning mechanism, we use a Hidden Markov model (HMM) as the
structure of the attack vector model to capture the implicit manner of the
attack vector, and this manner is benefited from the syntax meanings that are
labeled by the proposed tokenizing mechanism. Bayes theorem is used to
determine the number of hidden states in the model for generalizing the
structure model. The paper has the contributions as following: (1)
automatically learn the structure of attack vectors from practical data
analysis to modeling a structure model of attack vectors, (2) mimic the manners
and the elements of attack vectors to extend the ability of testing tool for
identifying XSS vulnerabilities, (3) be helpful to verify the flaws of
blacklist sanitization procedures of Web applications. We evaluated the
proposed mechanism by Burp Intruder with a dataset collected from public XSS
archives. The results show that mutated XSS attack generation can identify
potential vulnerabilities.Comment: In Proceedings TAV-WEB 2010, arXiv:1009.330
Comparing Static and Dynamic Weighted Software Coupling Metrics
Coupling metrics that count the number of inter-module connections in a software system
are an established way to measure internal software quality with respect to modularity. In addition to
static metrics, which are obtained from the source or compiled code of a program, dynamic metrics
use runtime data gathered, e.g., by monitoring a system in production. Dynamic metrics have been
used to improve the accuracy of static metrics for object-oriented software. We study weighted
dynamic coupling that takes into account how often a connection (e.g., a method call) is executed
during a system’s run. We investigate the correlation between dynamic weighted metrics and their
static counterparts. To compare the different metrics, we use data collected from four different
experiments, each monitoring production use of a commercial software system over a period of four
weeks. We observe an unexpected level of correlation between the static and the weighted dynamic
case as well as revealing differences between class- and package-level analyses
Mutation Operators for UML Class Diagrams
La prueba de mutación es una técnica bien establecida para evaluar la calidad de los casos de prueba al verificar qué tan bien detectan fallas inyectadas en un artefacto de software (mutante). Usando esta técnica, la actividad más crítica es el diseño adecuado de operadores de mutación para que reflejen defectos típicos del artefacto bajo prueba. Este artículo presenta el diseño de un conjunto de operadores de mutación para esquemas conceptuales (CS) basados en diagramas de clase UML (CD). En este documento, los operadores se definen de acuerdo con una clasificación de defectos existente para UML CS y elementos relevantes identificados a partir del metamodelo UML-CD. Los operadores se utilizan posteriormente para generar mutantes de primer orden para un CS bajo prueba. Finalmente, para analizar la utilidad de los operadores de mutación, medimos algunas características básicas de los operadores de mutación con tres CS diferentes bajo prueba.Mutation Testing is a well-established technique for assessing the quality of test cases by checking how well they detect faults injected into a software artefact (mutant). Using this technique, the most critical activity is the adequate design of mutation operators so that they reflect typical defects of the artefact under test. This paper presents the design of a set of mutation operators for Conceptual Schemas (CS) based on UML Class Diagrams (CD). In this paper, the operators are defined in accordance with an existing defects classification for UML CS and relevant elements identified from the UML-CD meta-model. The operators are subsequently used to generate first order mutants for a CS under test. Finally, in order to analyse the usefulness of the mutation operators, we measure some basic characteristics of mutation operators with three different CSs under test.Ljubljan
- …