4 research outputs found

    Search-based inference of polynomial metamorphic relations

    Full text link
    Metamorphic testing (MT) is an effective methodology for testing those so-called 'non-testable' programs (e.g., scientific programs), where it is sometimes very difficult for testers to know whether the outputs are correct. In metamorphic testing, metamorphic relations (MRs) (which specify how particular changes to the input of the program under test would change the output) play an essential role. However, testers may typically have to obtain MRs manually. In this paper, we propose a search-based approach to automatic inference of polynomial MRs for a program under test. In particular, we use a set of parameters to represent a particular class of MRs, which we refer to as polynomial MRs, and turn the problem of inferring MRs into a problem of searching for suitable values of the parameters. We then dynamically analyze multiple executions of the program, and use particle swarm optimization to solve the search problem. To improve the quality of inferred MRs, we further use MR filtering to remove some inferred MRs. We also conducted three empirical studies to evaluate our approach using four scientific libraries (including 189 scientific functions). From our empirical results, our approach is able to infer many high-quality MRs in acceptable time (i.e., from 9.87 seconds to 1231.16 seconds), which are effective in detecting faults with no false detection. ? 2014 ACM.EI

    Search‐based model transformations

    Get PDF
    Model transformations are an important cornerstone of model‐driven engineering, a discipline which facilitates the abstraction of relevant information of a system as models. The success of the final system mainly depends on the optimization of these models through model transformations. Currently, the application of transformations is realized either by following the apply‐as‐long‐as‐possible strategy or by the provision of explicit rule orchestrations. This implies two main limitations. First, the optimization objectives are implicitly hidden in the transformation rules and their orchestration. Second, manually finding the best orchestration for a particular scenario is a major challenge due to the high number of possible combinations. To overcome these limitations, we present a novel framework that builds on the non‐intrusive integration of optimization and model transformation technologies. In particular, we formulate the transformation orchestration task as an optimization problem, which allows for the efficient exploration of the transformation space and explication of the transformation objectives. Our generic framework provides several search algorithms and guides the user in providing a proper search configuration. We present different instantiations of our framework to demonstrate its feasibility, applicability, and benefits using several case studiesEuropean Commission ICT Policy Support Programme 317859Ministerio de Economia y Competitividad TIN2015-70560-RJunta de Andalucía P10-TIC-5960Junta de Andalucía P12-TIC-186

    Search-Based Refactoring using Unfolding of Graph Transformation Systems

    No full text
    To improve scalability and understandability of search-based refactoring, in this paper, we propose a formulation based on graph transformation which allows us to make use of partial order semantics and an associated analysis technique, the approximated unfolding of graph transformation systems. We use graphs to represent object-oriented software architectures at the class level and graph transformations to describe their refactoring operations. In the unfolding we can identify dependencies and conflicts between refactoring steps leading to an implicit and therefore more scalable representation of the search space. An optimisation algorithm based on the Ant Colony paradigm is used to explore this search space, aiming to find a sequence of refactoring steps that leads to the best design at a minimal costs

    eine graphbasierte Sprache zur Spezifikation komplexer Suchmuster fĂŒr die statische Quelltextanalyse

    Get PDF
    Das Ziel dieser Arbeit ist die Darstellung einer graphbasierten Sprache fĂŒr die Beschreibung komplexer Suchmuster zur Quelltextanalyse. Der Fokus liegt auf der Möglichkeit einer modularisierten Musterspezifikation, so dass der Nutzer komplexe Muster ĂŒber die Kombination einzelner Module erstellen kann. Die Sprachsyntax basiert sowohl auf dem Abstrakten Syntaxbaum, als auch auf Elementen der Graphtypen KontrollabhĂ€ngigkeitsgraph und DatenabhĂ€ngigkeitsgraph. Somit kann in einer Musterspezifikation die GraphreprĂ€sentation von Java Syntaxelementen mit abstrakteren AbhĂ€ngigkeitsbeziehungen kombiniert werden
    corecore