14,716 research outputs found

    A Model to Estimate First-Order Mutation Coverage from Higher-Order Mutation Coverage

    Full text link
    The test suite is essential for fault detection during software development. First-order mutation coverage is an accurate metric to quantify the quality of the test suite. However, it is computationally expensive. Hence, the adoption of this metric is limited. In this study, we address this issue by proposing a realistic model able to estimate first-order mutation coverage using only higher-order mutation coverage. Our study shows how the estimation evolves along with the order of mutation. We validate the model with an empirical study based on 17 open-source projects.Comment: 2016 IEEE International Conference on Software Quality, Reliability, and Security. 9 page

    Empirical Evaluation of Mutation-based Test Prioritization Techniques

    Full text link
    We propose a new test case prioritization technique that combines both mutation-based and diversity-based approaches. Our diversity-aware mutation-based technique relies on the notion of mutant distinguishment, which aims to distinguish one mutant's behavior from another, rather than from the original program. We empirically investigate the relative cost and effectiveness of the mutation-based prioritization techniques (i.e., using both the traditional mutant kill and the proposed mutant distinguishment) with 352 real faults and 553,477 developer-written test cases. The empirical evaluation considers both the traditional and the diversity-aware mutation criteria in various settings: single-objective greedy, hybrid, and multi-objective optimization. The results show that there is no single dominant technique across all the studied faults. To this end, \rev{we we show when and the reason why each one of the mutation-based prioritization criteria performs poorly, using a graphical model called Mutant Distinguishment Graph (MDG) that demonstrates the distribution of the fault detecting test cases with respect to mutant kills and distinguishment

    Convergence in the Finite Cournot Oligopoly with Social and Individual Learning

    Get PDF
    Convergence to the Nash equilibrium in a Cournot oligopoly is a question that recurrently arises as a subject of controversy in economics. The development of evolutionary game theory has provided an equilibrium concept more directly connected with adjustment dynamics, and the evolutionary stability of the equilibria of the Cournot game has been extensively studied in the literature. Several articles show that the Walrasian equilibrium is the stable ESS of the Cournot game. But no general result has been established for the difficult case of simultaneous heterogenous mutations.Authors propose specific selection dynamics to analyze this case. Vriend (2000) proposes using a genetic algorithm for studying learning dynamics in this game and obtains convergence to Cournot equilibrium with individual learning. The resulting convergence has been questioned by Arifovic and Maschek (2006). The aim of this article is to clarify this controversy: it analyzes the mechanisms that are behind these contradictory results and underlines the specific role of the spite effect. We show why social learning gives rise to the Walrasian equilibrium and why, in a general setup, individual learning can effectively yield convergence to the Cournot equilibrium. We also illustrate these general results by systematic computational experiments.Cournot oligopoly; Learning; Evolution; Selection; Evolutionary stability; Nash equilibrium; Genetic algorithms

    Clone size distributions in networks of genetic similarity

    Get PDF
    We build networks of genetic similarity in which the nodes are organisms sampled from biological populations. The procedure is illustrated by constructing networks from genetic data of a marine clonal plant. An important feature in the networks is the presence of clone subgraphs, i.e. sets of organisms with identical genotype forming clones. As a first step to understand the dynamics that has shaped these networks, we point up a relationship between a particular degree distribution and the clone size distribution in the populations. We construct a dynamical model for the population dynamics, focussing on the dynamics of the clones, and solve it for the required distributions. Scale free and exponentially decaying forms are obtained depending on parameter values, the first type being obtained when clonal growth is the dominant process. Average distributions are dominated by the power law behavior presented by the fastest replicating populations.Comment: 17 pages, 4 figures. One figure improved and other minor changes. To appear in Physica

    A path-aware approach to mutant reduction in mutation testing

    Get PDF
    Context: Mutation testing, which systematically generates a set of mutants by seeding various faults into the base program under test, is a popular technique for evaluating the effectiveness of a testing method. However, it normally requires the execution of a large amount of mutants and thus incurs a high cost. Objective: A common way to decrease the cost of mutation testing is mutant reduction, which selects a subset of representative mutants. In this paper, we propose a new mutant reduction approach from the perspective of program structure. Method: Our approach attempts to explore path information of the program under test, and select mutants that are as diverse as possible with respect to the paths they cover. We define two path-aware heuristic rules, namely module-depth and loop-depth rules, and combine them with statement- and operator-based mutation selection to develop four mutant reduction strategies. Results: We evaluated the cost-effectiveness of our mutant reduction strategies against random mutant selection on 11 real-life C programs with varying sizes and sampling ratios. Our empirical studies show that two of our mutant reduction strategies, which primarily rely on the path-aware heuristic rules, are more effective and systematic than pure random mutant selection strategy in terms of selecting more representative mutants. In addition, among all four strategies, the one giving loop-depth the highest priority has the highest effectiveness. Conclusion: In general, our path-aware approach can reduce the number of mutants without jeopardizing its effectiveness, and thus significantly enhance the overall cost-effectiveness of mutation testing. Our approach is particularly useful for the mutation testing on large-scale complex programs that normally involve a huge amount of mutants with diverse fault characteristics
    corecore