Network


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

Hotspot


Dive into the research topics where Hendrik Tews is active.

Publication


Featured researches published by Hendrik Tews.


conference on object-oriented programming systems, languages, and applications | 1998

Reasoning about Java classes: preliminary report

Bart Jacobs; Joachim van den Berg; Marieke Huisman; Martijn van Berkum; Ulrich Hensel; Hendrik Tews

We present the first results of a project called LOOP, on formal methods for the object-oriented language Java. It aims at verification of program properties, with support of modern tools. We use our own front-end tool (which is still partly under construction) for translating Java classes into higher order logic, and a back-end theorem prover (namely PVS, developed at SRI) for reasoning. In several examples we demonstrate how non-trivial properties of Java programs and classes can be proven following this two-step approach.


european symposium on programming | 1998

Reasonong about Classess in Object-Oriented Languages: Logical Models and Tools

Ulrich Hensel; Marieke Huisman; Bart Jacobs; Hendrik Tews

A formal language CCSL is introduced for describing specifications of classes in object-oriented languages. We show how class specifications in CCSL can be translated into higher order logic. This allows us to reason about these specifications. In particular, it allows us (1) to describe (various) implementations of a particular class specification, (2) to develop the logical theory of a specific class specification, and (3) to establish refinements between two class specifications.


acm sigops european workshop | 2002

Applying source-code verification to a microkernel: the VFiasco project

Michael Hohmuth; Hendrik Tews; Shane Stephens

We present the VFiasco project, in which we apply source-code verification to a complete operating-system kernel written in C++. The aim of the VFiasco project is to establish security-relevant properties of the Fiasco microkernel.Source-code verification works by reasoning about the semantics of the full source code of a program. Traditionally it is limited to small programs written in an academic programming language. The projects main challenges are to enable high-level reasoning about typed data starting from only low-level knowledge about the hardware, and to develop a clean semantics for the subset of C++ used by the kernel. In this extended abstract we present our ideas for tackling these challenges. We focus on a type-safe object store that is based on a hardware model that closely resembles the IA32 virtual-memory architecture and on guarantees provided by the kernel itself. We also briefly touch on the semantics for C++.Please find the full version of this paper at http://www.vfiasco.org/objstore.pdf.


workshop in information security theory and practice | 2009

Performance Issues of Selective Disclosure and Blinded Issuing Protocols on Java Card

Hendrik Tews; Bart Jacobs

In this paper we report on the performance of the RSA variants of Brands protocols for zero-knowledge proof and restrictive blinded issuing . The performance is relatively bad: For 4 attributes and an RSA key size of 1280 bits, blinded issuing takes about 10 seconds and the zero-knowledge proof takes about 9 seconds. For 2 attributes the zero-knowledge proof drops to 5 seconds. The poor performance comes from the fact that the cryptographic coprocessor on the Java card can only be employed in very limited ways. With appropriate support of the cryptographic coprocessor both protocols would run much faster.


Electronic Notes in Theoretical Computer Science | 2008

A Formal Model of Memory Peculiarities for the Verification of Low-Level Operating-System Code

Hendrik Tews; Tjark Weber; Marcus Völp

This paper presents our solutions to some problems we encountered in an ongoing attempt to verify the micro-hypervisor currently developed within the Robin project. The problems that we discuss are (1) efficient automatic reasoning for type-correct programs in virtual memory, and (2) modeling memory-mapped devices with alignment requirements. The discussed solutions are integrated in our verification environment for operating-system kernels in the interactive theorem prover PVS. This verification environment will ultimately be used for the verification of the Robin micro-hypervisor. As a proof of concept we include an example verification of a very simple piece of code in our environment.


Journal of Automated Reasoning | 2009

Formal Memory Models for the Verification of Low-Level Operating-System Code

Hendrik Tews; Marcus Völp; Tjark Weber

This article contributes to the field of operating-systems verification. It presents a formalization of virtual memory that extends to memory-mapped devices. Our formalization consists of a stack of three detailed formal memory models: physical memory (i.e., RAM), physically-addressable memory-mapped devices (including their respective side effects, access and alignment requirements), and page-table based virtual memory. Each model is formally shown to satisfy the plain-memory specification, a memory abstraction that enables efficient reasoning for type-correct programs. This stack of memory models was developed in an attempt to verify Nova, the Robin micro-hypervisor. It is a key component of our verification environment for operating-system kernels based on the interactive theorem prover PVS.


Journal of Computer and System Sciences | 2015

Locks: Picking key methods for a scalable quantitative analysis ✩

Christel Baier; Marcus Daum; Benjamin Engel; Hermann Härtig; Joachim Klein; Sascha Klüppelholz; Steffen Märcker; Hendrik Tews; Marcus Völp

Abstract Functional correctness of low-level operating-system (OS) code is an indispensable requirement. However, many applications rely also on quantitative aspects such as speed, energy efficiency, resilience with regards to errors and other cost factors. We report on our experiences of applying probabilistic model-checking techniques for analysing the quantitative long-run behaviour of low-level OS-code. Our approach, illustrated in a case study analysing a simple test-and-test-and-set (TTS) spinlock protocol, combines measure-based simulation with probabilistic model-checking to obtain high-level models of the performance of realistic systems and to tune the models to predict future system behaviour. We report how we obtained a nearly perfect match of analytic results and measurements and how we tackled the state-explosion problem to obtain model-checking results for a large number of processes where measurements are no longer feasible. These results gave us valuable insights in the delicate interplay between lock load, average spinning times and other performance measures.


formal methods for industrial critical systems | 2012

Waiting for Locks: How Long Does It Usually Take?

Christel Baier; Marcus Daum; Benjamin Engel; Hermann Härtig; Joachim Klein; Sascha Klüppelholz; Steffen Märcker; Hendrik Tews; Marcus Völp

Reliability of low-level operating-system (OS) code is an indispensable requirement. This includes functional properties from the safety-liveness spectrum, but also quantitative properties stating, e.g., that the average waiting time on locks is sufficiently small or that the energy requirement of a certain system call is below a given threshold with a high probability. This paper reports on our experiences made in a running project where the goal is to apply probabilistic model checking techniques and to align the results of the model checker with measurements to predict quantitative properties of low-level OS code.


Electronic Notes in Theoretical Computer Science | 2000

Coalgebras for Binary Methods

Hendrik Tews

Abstract Coalgebras for endofunctors C → C can be used to model classes of object oriented languages. However, binary methods do not fit directly into this approach. This paper proposes an extension of the coalgebraic framework, namely the use of extended polynomial functors Cop π C → C. This extension allows the incorporation of binary methods into coalgebraic class specifications. The paper also discusses how to define bisimulation for coalgebras of extended polynomial functors and proves some standard results.


Theoretical Informatics and Applications | 2001

Coalgebras for binary methods : Properties of bisimulations and invariants

Hendrik Tews

Coalgebras for endofunctors

Collaboration


Dive into the Hendrik Tews's collaboration.

Top Co-Authors

Avatar

Marcus Völp

University of Luxembourg

View shared research outputs
Top Co-Authors

Avatar

Bart Jacobs

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Tjark Weber

University of Cambridge

View shared research outputs
Top Co-Authors

Avatar

Benjamin Engel

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Christel Baier

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Michael Hohmuth

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Sascha Klüppelholz

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Steffen Märcker

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Ulrich Hensel

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar

Hermann Härtig

Dresden University of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge