124 research outputs found
Mutation of Directed Graphs -- Corresponding Regular Expressions and Complexity of Their Generation
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
Contributions of tester experience and a checklist guideline to the identification of categories and choices for software testing
Using UML Collaboration Diagrams for Static Checking and Test Generation
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
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
Wide-scale integration of unmanned aircraft systems into the National Airspace System through a fault tree analysis approach
Experimental Assessment of Cloud Software Dependability Using Fault Injection
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
- …
