124 research outputs found

    Mutation of Directed Graphs -- Corresponding Regular Expressions and Complexity of Their Generation

    Full text link
    Directed graphs (DG), interpreted as state transition diagrams, are traditionally used to represent finite-state automata (FSA). In the context of formal languages, both FSA and regular expressions (RE) are equivalent in that they accept and generate, respectively, type-3 (regular) languages. Based on our previous work, this paper analyzes effects of graph manipulations on corresponding RE. In this present, starting stage we assume that the DG under consideration contains no cycles. Graph manipulation is performed by deleting or inserting of nodes or arcs. Combined and/or multiple application of these basic operators enable a great variety of transformations of DG (and corresponding RE) that can be seen as mutants of the original DG (and corresponding RE). DG are popular for modeling complex systems; however they easily become intractable if the system under consideration is complex and/or large. In such situations, we propose to switch to corresponding RE in order to benefit from their compact format for modeling and algebraic operations for analysis. The results of the study are of great potential interest to mutation testing

    Getting Your Research Out There: Open Access & More

    Full text link

    Web Transparency for Complex Targeting

    No full text

    Using UML Collaboration Diagrams for Static Checking and Test Generation

    No full text
    Software testing can only be formalized and quantified when a solid basis for test generation can be defined. Tests are commonly generated from program source code, graphical models of software (such as control flow graphs), and specifications/requirements. UML collaboration diagrams represent a significant opportunity for testing because they precisely describe how the functions the software provides are connected in a form that can be easily manipulated by automated means. This paper presents novel test criteria that are based on UML collaboration diagrams. The most novel aspect of this is that tests can be generated automatically from the software design, rather than the code or the specifications. Criteria are defined for both static and dynamic testing of specification-level and instance-level collaboration diagrams. These criteria allow a formal integration tests to be based on high level design notations, which can help lead to software that is significantly more reliable.

    A Laboratory for Prototyping and Testing Multimedia Presentations

    No full text
    In this article we describe a prototyping environment, which allows an author to set up and test a complex hypermedia presentation. It contains a visual editor, based on a graph notation, in which the nodes are media objects and the edges are the synchronization relations between them; an execution simulator, which helps the author to test the presentation dynamics by manually triggering media related events; and a player, which allows the author to preview the presentation and to visually relate the execution evolution with the interpretation of the synchronization schema

    Extended Model-Based Testing toward High Code Coverage Rate

    No full text

    Experimental Assessment of Cloud Software Dependability Using Fault Injection

    No full text
    Part 5: Distributed ComputingInternational audienceIn modern cloud software systems, the complexity arising from feature interaction, geographical distribution, security and configurability requirements increases the likelihood of faults. Additional influencing factors are the impact of different execution environments as well as human operation or configuration errors. Assuming that any non-trivial cloud software system contains faults, robustness testing is needed to ensure that such faults are discovered as early as possible, and that the overall service is resilient and fault tolerant. To this end, fault injection is a means for disrupting the software in ways that uncover bugs and test the fault tolerance mechanisms. In this paper, we discuss how to experimentally assess software dependability in two steps. First, a model of the software is constructed from different runtime observations and configuration information. Second, this model is used to orchestrate fault injection experiments with the running software system in order to quantify dependability attributes such as service availability. We propose the architecture of a fault injection service within the OpenStack project
    corecore