Network


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

Hotspot


Dive into the research topics where Stijn de Gouw is active.

Publication


Featured researches published by Stijn de Gouw.


computer aided verification | 2015

OpenJDK’s Java.utils.Collection.sort() Is Broken: The Good, the Bad and the Worst Case

Stijn de Gouw; Jurriaan Rot; Frank S. de Boer; Richard Bubel; Reiner Hähnle

We investigate the correctness of TimSort, which is the main sorting algorithm provided by the Java standard library. The goal is functional verification with mechanical proofs. During our verification attempt we discovered a bug which causes the implementation to crash. We characterize the conditions under which the bug occurs, and from this we derive a bug-free version that does not compromise the performance. We formally specify the new version and mechanically verify the absence of this bug with KeY, a state-of-the-art verification tool for Java. Open image in new window


formal methods | 2014

Combining Monitoring with Run-Time Assertion Checking

Frank S. de Boer; Stijn de Gouw

According to a study in 2002 commisioned by a US Department, software bugs annually costs the US economy an estimated


Journal of Computer and System Sciences | 2012

Verification of object-oriented programs: A transformational approach

Krzysztof R. Apt; Frank S. de Boer; Ernst-Ruediger Olderog; Stijn de Gouw

59 billion. A more recent study in 2013 by Cambridge University estimated that the global cost has risen to


formal techniques for java-like programs | 2010

Prototyping a tool environment for run-time assertion checking in JML with communication histories

Frank S. de Boer; Stijn de Gouw; Jurgen J. Vinju

312 billion globally. There exists various ways to prevent, isolate and fix software bugs, ranging from lightweight methods that are semi-automatic, to heavyweight methods that require significant user interaction. Our own method described in this tutorial is based on automated run-time checking of a combination of protocol- and data-oriented properties of object-oriented programs.


european conference on service-oriented and cloud computing | 2015

On the Integration of Automatic Deployment into the ABS Modeling Language

Stijn de Gouw; Michael Lienhardt; Jacopo Mauro; Behrooz Nobakht; Gianluigi Zavattaro

We show that verification of object-oriented programs by means of the assertional method can be achieved in a simple way by exploiting a syntax-directed transformation from object-oriented programs to recursive programs. This transformation suggests natural proofs rules and its correctness helps us to establish soundness and relative completeness of the proposed proof system. One of the difficulties is how to properly deal in the assertion language with the instance variables and aliasing. The discussed programming language supports arrays, instance variables, failures and recursive methods with parameters. We also explain how the transformational approach can be extended to deal with other features of object-oriented programming, like classes, inheritance, subtyping and dynamic binding.


european conference on service-oriented and cloud computing | 2015

Formal Verification of Service Level Agreements Through Distributed Monitoring

Behrooz Nobakht; Stijn de Gouw; Frank S. de Boer

In this paper we present prototype tool-support for the runtime assertion checking of the Java Modeling Language (JML) extended with communication histories specified by attribute grammars. Our tool suite integrates Rascal, a meta programming language and ANTLR, a popular parser generator. Rascal instantiates a generic model of history updates for a given Java program annotated with history specifications. ANTLR is used for the actual evaluation of history assertions.


International Journal on Software Tools for Technology Transfer | 2015

Testing abstract behavioral specifications

Peter Y. H. Wong; Richard Bubel; Frank S. de Boer; Miguel Gómez-Zamalloa; Stijn de Gouw; Reiner Hähnle; Karl Meinke; Muddassar A. Sindhu

In modern software systems, deployment is an integral and critical part of application development (see, e.g., the DevOps approach to software development). Nevertheless, deployment is usually overlooked at the modeling level, thus losing the possibility to perform deployment conscious decisions during the early stages of development. In this paper, we address the problem of promoting deployment as an integral part of modeling, by focusing on the Abstract Behavioral Specification (ABS) language used for the specification of models of systems composed of concurrent objects consuming resources provided by deployment components. We extend ABS with class annotations expressing the resource requirements of the objects of that class. Then we define a tool that, starting from a high-level declaration of the desired system, computes a model instance of such system that optimally distributes objects over available deployment components.


european conference on service oriented and cloud computing | 2016

Declarative Elasticity in ABS

Stijn de Gouw; Jacopo Mauro; Behrooz Nobakht; Gianluigi Zavattaro

In this paper, we introduce a formal model of the availability, budget compliance and sustainability of istributed services, where service sustainability is a new concept which arises as the composition of service availability and budget compliance. The model formalizes a distributed platform for monitoring the above service characteristics in terms of a parallel composition of task automata, where dynamically generated tasks model asynchronous events with deadlines. The main result of this paper is a formal model to optimize and reason about service characteristics through monitoring. In particular, we use schedulability analysis of the underlying timed automata to optimize and guarantee service sustainability.


Journal of Automated Reasoning | 2014

Proof Pearl: The KeY to Correct and Stable Sorting

Stijn de Gouw; Frank S. de Boer; Jurriaan Rot

We present a range of testing techniques for the Abstract Behavioral Specification (ABS) language and apply them to an industrial case study. ABS is a formal modeling language for highly variable, concurrent, component-based systems. The nature of these systems makes them susceptible to the introduction of subtle bugs that are hard to detect in the presence of steady adaptation. While static analysis techniques are available for an abstract language such as ABS, testing is still indispensable and complements analytic methods. We focus on fully automated testing techniques including black-box and glass-box test generation as well as runtime assertion checking, which are shown to be effective in an industrial setting.


acm symposium on applied computing | 2013

Run-time checking of data- and protocol-oriented properties of Java programs: an industrial case study

Stijn de Gouw; Frank S. de Boer; Einar Broch Johnsen; Peter Y. H. Wong

Traditional development methodologies that separate software design from application deployment have been replaced by approaches such as continuous delivery or DevOps, according to which deployment issues should be taken into account already at the early stages of development. This calls for the definition of new modeling and specification languages. In this paper we show how deployment can be added as a first-class citizen in the object-oriented modeling language ABS. We follow a declarative approach: programmers specify deployment constraints and a solver synthesizes ABS classes exposing methods like deploy (resp. undeploy) that executes (resp. cancels) configuration actions changing the current deployment towards a new one satisfying the programmer’s desiderata. Differently from previous works, this novel approach allows for the specification of incremental modifications, thus supporting the declarative modeling of elastic applications.

Collaboration


Dive into the Stijn de Gouw's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jurriaan Rot

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Richard Bubel

Technische Universität Darmstadt

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Reiner Hähnle

Technische Universität Darmstadt

View shared research outputs
Top Co-Authors

Avatar

Wolfgang Ahrendt

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge