Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Andreas Griesmayer is active.

Publication


Featured researches published by Andreas Griesmayer.


Electronic Notes in Theoretical Computer Science | 2009

Modeling and Testing Multi-Threaded Asynchronous Systems with Creol

Bernhard K. Aichernig; Andreas Griesmayer; Rudolf Schlatte; Andries Stam

Modeling concurrent systems and testing multi-threaded implementations against the model is an exciting field of study. This paper presents work done on constructing and executing test cases for an industrial-size multi-threaded application against a model written in the Creol modeling language. Models written in Creol, an object-oriented, concurrent modeling language, can be structurally similar to the finished implementation; we show how to keep this desirable property when re-using Creol models as test oracles. Also, a conformance relation between model and system under test that needs less controllability than other relations that are based on automata is presented.


formal methods | 2009

Conformance Testing of Distributed Concurrent Systems with Executable Designs

Bernhard K. Aichernig; Andreas Griesmayer; Einar Broch Johnsen; Rudolf Schlatte; Andries Stam

This paper presents a unified approach to test case generation and conformance test execution in a distributed setting. A model in the object-oriented, concurrent modeling language Creol is used both for generating test inputs and as a test oracle. For test case generation, we extend Dynamic Symbolic Execution (also called Concolic Execution) to work with multi-threaded models and use this to generate test inputs that maximize model coverage. For test case execution, we establish a conformance relation based on trace inclusion by recording traces of events in the system under test and replaying them in the model. User input is handled by generating a test driver that supplies the needed stimuli to the model. An industrial case study of the Credo project serves to demonstrate the approach.


Formal Aspects of Computing | 2009

Model-checking user behaviour using interacting components

Thomas Anung Basuki; Antonio Cerone; Andreas Griesmayer; Rudolf Schlatte

This article describes a framework to formally model and analyse human behaviour. This is shown by a simple case study of a chocolate vending machine, which represents many aspects of human behaviour. The case study is modelled and analysed using the Maude rewrite system. This work extends a previous work by Basuki which attempts to model interactions between human and machine and analyse the possibility of errors occurring in the interactions. By redesigning the interface, it can be shown that certain kinds of error can be avoided for some users. This article overcomes the limitation of Basuki’s approach by incorporating many aspects of user behaviour into a single user model, and introduces a more natural approach to model human–computer interaction.


Electronic Notes in Theoretical Computer Science | 2010

Credo Methodology

Immo Grabe; Mohammad Mahdi Jaghoori; Bernhard K. Aichernig; Christel Baier; Tobias Blechmann; Frank S. de Boer; Andreas Griesmayer; Einar Broch Johnsen; Joachim Klein; Sascha Klüppelholz; Marcel Kyas; Wolfgang Leister; Rudolf Schlatte; Andries Stam; Martin Steffen; Simon Tschirner; Liang Xuedong; Wang Yi

Credo offers tools and techniques to model and analyze highly reconfigurable distributed systems. In this paper, we present an integrated methodology to use the Credo tool suite. In this methodology, we advertise the use of top-down design, component-based modeling and compositional analysis to address the complexity of highly reconfigurable distributed systems. As a running example, we model a peer-to-peer file-sharing system and show how and when to apply the different modeling and analysis techniques of Credo.


international colloquium on theoretical aspects of computing | 2008

Testing Concurrent Objects with Application-Specific Schedulers

Rudolf Schlatte; Bernhard K. Aichernig; Frank S. de Boer; Andreas Griesmayer; Einar Broch Johnsen

In this paper, we propose a novel approach to testing executable models of concurrent objects under application-specific scheduling regimes. Method activations in concurrent objects are modeled as a composition of symbolic automata; this composition expresses all possible interleavings of actions. Scheduler specifications, also modeled as automata, are used to constrain the system execution. Test purposes are expressed as assertions on selected states of the system, and weakest precondition calculation is used to derive the test cases from these test purposes. Our new testing technique is based on the assumption that we have full control over the (application-specific) scheduler, which is the case in our executable models under test. Hence, the enforced scheduling policy becomes an integral part of a test case. This tackles the problem of testing non-deterministic behavior due to scheduling.


tests and proofs | 2009

Dynamic Symbolic Execution for Testing Distributed Objects

Andreas Griesmayer; Bernhard K. Aichernig; Einar Broch Johnsen; Rudolf Schlatte

This paper extends dynamic symbolic execution to distributed and concurrent systems. Dynamic symbolic execution can be used in software testing to systematically identify equivalence classes of input values and has been shown to scale well to large systems. Although mainly applied to sequential programs, this scalability makes it interesting to consider the technique in the distributed and concurrent setting as well. In order to extend the technique to concurrent systems, it is necessary to obtain sufficient control over the scheduling of concurrent activities to avoid race conditions. Creol, a modeling language for distributed concurrent objects, solves this problem by abstracting from a particular scheduling policy but explicitly defining scheduling points. This provides sufficient control to apply the technique of dynamic symbolic execution for model based testing of interleaved processes. The technique has been formalized in rewriting logic, executes in Maude, and applied to non-trivial examples, including an industrial case study.


formal techniques for networked and distributed systems | 2009

Dynamic Symbolic Execution of Distributed Concurrent Objects

Andreas Griesmayer; Bernhard K. Aichernig; Einar Broch Johnsen; Rudolf Schlatte

This paper extends dynamic symbolic execution to distributed and concurrent systems. Dynamic symbolic execution is used to systematically identify equivalence classes of input values and has been shown to scale well to large systems. Although mainly applied to sequential programs, this scalability makes it interesting to consider the technique in the distributed and concurrent setting as well. In order to extend the technique to concurrent systems, it is necessary to obtain sufficient control over the scheduling of concurrent activities to avoid race conditions. Creol, a modeling language for distributed concurrent objects, solves this problem by abstracting from a particular scheduling policy but explicitly defining scheduling points. This provides sufficient control to apply the technique of dynamic symbolic of interleaved processes. The technique has been formalized in rewriting logic and executes in Maude.


Electronic Notes in Theoretical Computer Science | 2010

Resource Modeling for Timed Creol Models

Rudolf Schlatte; Bernhard K. Aichernig; Andreas Griesmayer; Marcel Kyas

This paper describes the semantics of a timed, resource-constrained extension of the Creol modeling language. Creol is an object-oriented modeling language with a design that is suited for modeling distributed systems. However, the computation model of Creol assumes infinite memory and infinite parallelism within an object. This paper describes a way to extend Creol with a notion of resource constraints and a way to quantitatively assess the effects of introducing resource constraints on a given model. We discuss possible semantics of message delivery under resource constraints, their implementation and their impact on the model. The method is illustrated with a case study modeling a biomedical sensor network.


formal methods | 2016

Equivalence Checking of a Floating-Point Unit Against a High-Level C Model

Rajdeep Mukherjee; Saurabh Joshi; Andreas Griesmayer; Daniel Kroening; Tom Melham

Semiconductor companies have increasingly adopted a methodology that starts with a system-level design specification in C/C++/SystemC. This model is extensively simulated to ensure correct functionality and performance. Later, a Register Transfer Level (RTL) implementation is created in Verilog, either manually by a designer or automatically by a high-level synthesis tool. It is essential to check that the C and Verilog programs are consistent. In this paper, we present a two-step approach, embodied in two equivalence checking tools, VerifOx and hw-cbmc, to validate designs at the software and RTL levels, respectively. VerifOx is used for equivalence checking of an untimed software model in C against a high-level reference model in C. hw-cbmc verifies the equivalence of a Verilog RTL implementation against an untimed software model in C. To evaluate our tools, we applied them to a commercial floating-point arithmetic unit (FPU) from ARM and an open-source dual-path floating-point adder.


formal methods | 2009

The credo methodology

Immo Grabe; Mohammad Mahdi Jaghoori; Joachim Klein; Sascha Klüppelholz; Andries Stam; Christel Baier; Tobias Blechmann; Bernhard K. Aichernig; Frank S. de Boer; Andreas Griesmayer; Einar Broch Johnsen; Marcel Kyas; Wolfgang Leister; Rudolf Schlatte; Martin Steffen; Simon Tschirner; Liang Xuedong; Wang Yi

This paper is an extended version of the Credo Methodology [16]. Credo offers tools and techniques to model and analyze highly reconfigurable distributed systems. In a previous version we presented an integrated methodology to use the Credo tool suite. Following a compositional, component-based approach to model and analyze distributed systems, we presented a separation of the system into components and the network. A high-level, abstract representation of the dataflow level on the network was given in terms of behavioral interface automata and a detailed model of the components in terms of Creol models. Here we extend the methodology with a detailed model of the network connecting these components. The Vereofy tool set is used to model and analyze the dataflow of the network in detail. The behavioral automata connect the detailed model of the network and the detailed model of the components. We apply the extended methodology to our running example, a peer-to-peer file-sharing system.

Collaboration


Dive into the Andreas Griesmayer's collaboration.

Top Co-Authors

Avatar

Bernhard K. Aichernig

Graz University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Christel Baier

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Joachim Klein

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Tobias Blechmann

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Marcel Kyas

Free University of Berlin

View shared research outputs
Researchain Logo
Decentralizing Knowledge