Network


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

Hotspot


Dive into the research topics where Stephan Tobies is active.

Publication


Featured researches published by Stephan Tobies.


theorem proving in higher order logics | 2009

VCC: A Practical System for Verifying Concurrent C

Ernie Cohen; Markus Dahlweid; Mark A. Hillebrand; Dirk Leinenbach; Michal Moskal; Thomas Santen; Wolfram Schulte; Stephan Tobies

VCC is an industrial-strength verification environment for low-level concurrent system code written in C. VCC takes a program (annotated with function contracts, state assertions, and type invariants) and attempts to prove the correctness of these annotations. It includes tools for monitoring proof attempts and constructing partial counterexample executions for failed proofs. This paper motivates VCC, describes our verification methodology, describes the architecture of VCC, and reports on our experience using VCC to verify the Microsoft Hyper-V hypervisor.


international andrei ershov memorial conference on perspectives of system informatics | 2009

Invariants, modularity, and rights

Ernie Cohen; Eyad Alkassar; Vladimir Boyarinov; Markus Dahlweid; Ulan Degenbaev; Mark A. Hillebrand; Bruno Langenstein; Dirk Leinenbach; Michal Moskal; Steven Obua; Wolfgang J. Paul; Hristo Pentchev; Elena Petrova; Thomas Santen; Norbert Schirmer; Sabine Schmaltz; Wolfram Schulte; Andrey Shadrin; Stephan Tobies; Alexandra Tsyban; Sergey Tverdyshev

The quest for modular concurrency reasoning has led to recent proposals that extend program assertions to include not just knowledge about the state, but rights to access the state. We argue that these rights are really just sugar for knowledge that certain updates preserve certain invariants.


international conference on software engineering | 2009

VCC: Contract-based modular verification of concurrent C

Markus Dahlweid; Michal Moskal; Thomas Santen; Stephan Tobies; Wolfram Schulte

Most system level software is written in C and executed concurrently. Because such software is often critical for system reliability, it is an ideal target for formal verification. Annotated C and the Verified C Compiler (VCC) form the first modular sound verification methodology for concurrent C that scales to real-world production code. VCC is integrated in Microsoft Visual Studio and it comes with support for verification debugging: an explorer for counter-examples of failed proofs helps to find errors in code or specifications, and a prover log analyzer helps debugging proof attempts that exhaust available resources (memory, time). VCC is currently used to verify the core of Microsoft Hyper-V, consisting of 50,000 lines of system-level C code.


Electronic Notes in Theoretical Computer Science | 2009

A Precise Yet Efficient Memory Model For C

Ernie Cohen; Micha l Moskal; Stephan Tobies; Wolfram Schulte

Verification for OO programs typically starts from a strongly typed object model in which distinct objects/fields are guaranteed not to overlap. This model simplifies verification by eliminating all uninteresting aliasing and allowing the use of more efficient frame axioms. Unfortunately, this model is unsound and incomplete for languages like C, where objects can overlap almost arbitrarily. Sound verification for C therefore typically starts from an untyped memory model, where memory is just an array of bytes. The untyped model, however, adds substantial annotation burden, and reasoning in the untyped model is computationally expensive. We propose a sound, typed semantics for C that provides the annotational and computational advantages of the typed object model while remaining sound and complete for C. We maintain a predicate identifying where the valid objects are, and introduce invariants and proof obligations that guarantee that the valid objects are suitably antialiased, and that (almost) all objects appearing in the program are valid. We describe the implementation of this approach in VCC (a sound verifier for C being used to verify the Microsoft Hypervisor) and the resulting performance gains.


formal methods | 2011

The 1st verified software competition: experience report

Vladimir Klebanov; Peter Müller; Natarajan Shankar; Gary T. Leavens; Valentin Wüstholz; Eyad Alkassar; Rob Arthan; Derek Bronish; Rod Chapman; Ernie Cohen; Mark A. Hillebrand; Bart Jacobs; K. Rustan M. Leino; Rosemary Monahan; Frank Piessens; Nadia Polikarpova; Tom Ridge; Jan Smans; Stephan Tobies; Thomas Tuerk; Mattias Ulbrich; Benjamin Weiß

We, the organizers and participants, report our experiences from the 1st Verified Software Competition, held in August 2010 in Edinburgh at the VSTTE 2010 conference.


computer aided verification | 2010

Local verification of global invariants in concurrent programs

Ernie Cohen; Micha l Moskal; Wolfram Schulte; Stephan Tobies

We describe a practical method for reasoning about realistic concurrent programs Our method allows global two-state invariants that restrict update of shared state We provide simple, sufficient conditions for checking those global invariants modularly The method has been implemented in VCC, an automatic, sound, modular verifier for concurrent C programs VCC has been used to verify functional correctness of tens of thousands of lines of Microsofts Hyper-V virtualization platform and of SYSGOs embedded real-time operating system PikeOS.


ambient intelligence | 2007

Sharing Intelligent Services between Homes

Henk Eertink; Remco Poortinga; Tom H. F. Broens; Stephan Tobies; Andrew Alexander Tokmakoff; Aart van Halteren

The user’s environment is increasingly enriched with computing devices that offer services that aid users in their daily activities. Current use of these services is either public (i.e. unrestricted), or requires explicit registration. In the first case, user control and security are sacrificed whilst in the second ease of use and flexibility is limited. In this paper, we extend the perspective of user-centric computing in offering guests a simple and transparent way to access their home services from a visited intelligent environment. We provide the users with a Personal Access Device (PAD) that facilitates creation of trust between the user’s own home and a visited intelligent environment. This enables seamless access to home services from the visited environment.


Archive | 2005

An Introduction to TTCN-3

Colin Willcock; Thomas Dei; Stephan Tobies; Stefan Keil; Federico Engler; Stephan Schulz


Archive | 2009

A Practical Verification Methodology for Concurrent Programs

Ernie Cohen; Wolfram Schulte; Stephan Tobies


Archive | 2007

Distributed conflict resolution for replicated databases

Stephan Tobies

Collaboration


Dive into the Stephan Tobies's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge