Network


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

Hotspot


Dive into the research topics where Daniel Bruns is active.

Publication


Featured researches published by Daniel Bruns.


verified software theories tools experiments | 2014

The KeY Platform for Verification and Analysis of Java Programs

Wolfgang Ahrendt; Bernhard Beckert; Daniel Bruns; Richard Bubel; Christoph Gladisch; Sarah Grebing; Reiner Hähnle; Martin Hentschel; Mihai Herda; Vladimir Klebanov; Wojciech Mostowski; Christoph Scheben; Peter H. Schmitt; Mattias Ulbrich

The KeY system offers a platform of software analysis tools for sequential Java. Foremost, this includes full functional verification against contracts written in the Java Modeling Language. But the approach is general enough to provide a basis for other methods and purposes: (i) complementary validation techniques to formal verification such as testing and debugging, (ii) methods that reduce the complexity of verification such as modularization and abstract interpretation, (iii) analyses of non-functional properties such as information flow security, and (iv) sound program transformation and code generation. We show that deductive technology that has been developed for full functional verification can be used as a basis and framework for other purposes than pure functional verification. We use the current release of the KeY system as an example to explain and prove this claim.


FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software | 2010

Verification of software product lines with delta-oriented slicing

Daniel Bruns; Vladimir Klebanov; Ina Schaefer

Software product line (SPL) engineering is a well-known approach to develop industry-size adaptable software systems. SPL are often used in domains where high-quality software is desirable; the overwhelming product diversity, however, remains a challenge for assuring correctness. In this paper, we present delta-oriented slicing, an approach to reduce the deductive verification effort across an SPL where individual products are Java programs and their relations are described by deltas. On the specification side, we extend the delta language to deal with formal specifications. On the verification side, we combine proof slicing and similarity-guided proof reuse to ease the verification process.


logic based program synthesis and transformation | 2013

Information Flow in Object-Oriented Software

Bernhard Beckert; Daniel Bruns; Vladimir Klebanov; Christoph Scheben; Peter H. Schmitt; Mattias Ulbrich

This paper contributes to the investigation of object-sensitive information flow properties for sequential Java, i.e., properties that take into account information leakage through objects, as opposed to primitive values. We present two improvements to a popular object-sensitive non-interference property. Both reduce the burden on analysis and monitoring tools. We present a formalization of this property in a program logic – JavaDL in our case – which allows using an existing tool without requiring program modification. The third contribution is a novel fine-grained specification methodology. In our approach, arbitrary JavaDL terms (read ‘side-effect-free Java expressions’) may be assigned a security level – in contrast to security labels being attached to fields and variables only.


ieee computer security foundations symposium | 2015

A Hybrid Approach for Proving Noninterference of Java Programs

Ralf Küsters; Tomasz Truderung; Bernhard Beckert; Daniel Bruns; Michael Kirsten; Martin Mohr

Several tools and approaches for proving non-interference properties for Java and other languages exist. Some of them have a high degree of automation or are even fully automatic, but over approximate the actual information flow, and hence, may produce false positives. Other tools, such as those based on theorem proving, are precise, but may need interaction, and hence, analysis is time-consuming. In this paper, we propose a hybrid approach that aims at obtaining the best of both approaches: We want to use fully automatic analysis as much as possible and only at places in a program where, due to over approximation, the automatic approaches fail, we resort to more precise, but interactive analysis, where the latter involves the verification only of specific functional properties in certain parts of the program, rather than checking more intricate non-interference properties for the whole program. To illustrate the hybrid approach, in a case study we use this approach - along with the fully automatic tool Joana for checking non-interference properties for Java programs and the theorem prover KeY for the verification of Java programs - as well as the CVJ framework proposed by Kuesters, Truderung, and Graf to establish cryptographic privacy properties for a non-trivial Java program, namely an e-voting system. The CVJ framework allows one to establish cryptographic indistinguishability properties for Java programs by checking (standard) non-interference properties for such programs.


International Journal on Software Tools for Technology Transfer | 2015

Implementation-level verification of algorithms with KeY

Daniel Bruns; Wojciech Mostowski; Mattias Ulbrich

We give an account on the authors’ experience and results from the software verification competition held at the Formal Methods 2012 conference. Competitions like this are meant to provide a benchmark for verification systems. It consisted of three algorithms which the authors have implemented in Java, specified with the Java Modeling Language, and verified using the KeY system. Building on our solutions, we argue that verification systems which target implementations in real-world programming languages better have powerful abstraction capabilities. Regarding the KeY tool, we explain features which, driven by the competition, have been freshly implemented to accommodate for these demands.


conference on automated deduction | 2013

Dynamic logic with trace semantics

Bernhard Beckert; Daniel Bruns

Dynamic logic is an established instrument for program verification and for reasoning about the semantics of programs and programming languages. In this paper, we define an extension of dynamic logic, called Dynamic Trace Logic (DTL), which combines the expressiveness of program logics such as dynamic logic with that of temporal logic. And we present a sound and relatively complete sequent calculus for proving validity of DTL formulae. Due to its expressiveness, DTL can serve as a basis for proving functional and information-flow properties in concurrent programs, among other applications.


KI'12 Proceedings of the 35th Annual German conference on Advances in Artificial Intelligence | 2012

Formal semantics of model fields in annotation-based specifications

Bernhard Beckert; Daniel Bruns

It is widely recognized that abstraction and modularization are indispensable for specification of real-world programs. In source-code level program specification and verification, model fields are a common means for those goals. However, it remains a challenge to provide a well-founded formal semantics for the general case in which the abstraction relation defining a model field is non-functional. In this paper, we discuss and compare several possibilities for defining model field semantics, and we give a complete formal semantics for the general case. Our analysis and the proposed semantics is based on a generalization of Hilberts e terms.


Informatik Spektrum | 2012

Eine formale Semantik für die Java Modeling Language

Daniel Bruns

Die Java Modeling Language (JML) wurde als Ansatz konzipiert, um das Spezifizieren von Software-Produkten einer breiteren Masse zugänglich zu machen. Die Sprache baut auf Java auf und wird in einer Vielzahl von Verifikationswerkzeugen eingesetzt. Im Gegensatz zu anderen Modellierungssprachen mangelt es JML jedoch weiterhin an einer fundierten formalen Referenzsemantik. In diesem Beitrag wird ein Schritt zu diesem Ziel unternommen, der ausschließlich auf elementaren mathematischen Notationen beruht und unabhängig von der Semantikdefinition von Java selbst ist.


Informatiktage | 2010

Formal Semantics for the Java Modeling Language.

Daniel Bruns


Proceedings of the 10th KeY Symposium, August 26-27. Hrsg.: W. Ahrendt | 2011

Specification of Red-black Trees: Showcasing Dynamic Frames, Model Fields and Sequences

Daniel Bruns

Collaboration


Dive into the Daniel Bruns's collaboration.

Top Co-Authors

Avatar

Bernhard Beckert

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Vladimir Klebanov

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Christoph Scheben

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Mattias Ulbrich

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Peter H. Schmitt

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ina Schaefer

Braunschweig University of Technology

View shared research outputs
Top Co-Authors

Avatar

Sarah Grebing

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Martin Hentschel

Technische Universität Darmstadt

View shared research outputs
Researchain Logo
Decentralizing Knowledge