Network


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

Hotspot


Dive into the research topics where Erik Poll is active.

Publication


Featured researches published by Erik Poll.


formal methods for industrial critical systems | 2005

An overview of JML tools and applications

Lilian Burdy; Yoonsik Cheon; David R. Cok; Michael D. Ernst; Joseph R. Kiniry; Gary T. Leavens; K. Rustan M. Leino; Erik Poll

The Java Modeling Language (JML) can be used to specify the detailed design of Java classes and interfaces by adding annotations to Java source files. The aim of JML is to provide a specification language that is easy to use for Java programmers and that is supported by a wide range of tools for specification typechecking, runtime debugging, static analysis, and verification.This paper gives an overview of the main ideas behind JML, details about JML’s wide range of tools, and a glimpse into existing applications of JML.


formal methods | 2005

Beyond assertions: advanced specification and verification with JML and ESC/Java2

Patrice Chalin; Joseph R. Kiniry; Gary T. Leavens; Erik Poll

Many state-based specification languages, including the Java Modeling Language (JML), contain at their core specification constructs familiar to most undergraduates: e.g., assertions, pre- and postconditions, and invariants. Unfortunately, these constructs are not sufficiently expressive to permit formal modular verification of programs written in modern object-oriented languages like Java. The necessary extra constructs for specifying an object-oriented module include (perhaps the less familiar) frame properties, datagroups, and ghost and model fields. These constructs help specifiers deal with potential problems related to, for example, unexpected side effects, aliasing, class invariants, inheritance, and lack of information hiding. This tutorial paper focuses on JMLs realization of these constructs, explaining their meaning while illustrating how they can be used to address the stated problems.


fundamental approaches to software engineering | 2001

A Logic for the Java Modeling Language JML

Bart Jacobs; Erik Poll

This paper describes a specialised logic for proving specifications in the Java Modeling Language (JML). JML is an interface specification language for Java. It allows assertions like invariants, constraints, pre- and post-conditions, and modifiable clauses as annotations to Java classes, in a design-by-contract style. Within the LOOP project at the University of Nijmegen JML is used for specification and verification of Java programs. A special compiler has been developed which translates Java classes together with their JML annotations into logical theories for a theorem prover (PVS or Isabelle). The logic for JML that will be described here consists of tailor-made proof rules in the higher order logic of the back-end theorem prover for verifying translated JML specifications. The rules efficiently combine partial and total correctness (like in Hoare logic) for all possible termination modes in Java, in a single correctness formula.


Lecture Notes in Computer Science | 2004

Java Program Verification at Nijmegen: Developments and Perspective

Bart Jacobs; Erik Poll

This paper presents a historical overview of the work on Java program verification at the University of Nijmegen (the Netherlands) over the past six years (1997–2003). It describes the development and use of the LOOP tool that is central in this work. Also, it gives a perspective on the field.


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

JML (poster session): notations and tools supporting detailed design in Java

Gary T. Leavens; Clyde Ruby; K. Rustan M. Leino; Erik Poll; Bart Jacobs

JML is a notation for specifying the detailed design of Java classes and interfaces. JMLs assertions are stated using a slight extension of Javas expression syntax. This should make it easy to use. Tools for JML aid in static analysis, verification, and run-time debugging of Java code.


smart card research and advanced application conference | 2008

Malicious Code on Java Card Smartcards: Attacks and Countermeasures

Wojciech Mostowski; Erik Poll

When it comes to security, an interesting difference between Java Card and regular Java is the absence of an on-card bytecode verifier on most Java Cards. In principle this opens up the possibility of malicious, ill-typed code as an avenue of attack, though the Java Card platform offers some protection against this, notably by code signing. This paper gives an extensive overview of vulnerabilities and possible runtime countermeasures against ill-typed code, and describes results of experiments with attacking actual Java Cards currently on the market with malicious code.


foundations of computer science | 1994

Pure Type Systems with Definitions

Paula Severi; Erik Poll

In this paper, an extension of Pure Type Systems (PTSs) with definitions is presented. We prove this extension preserves many of the properties of PTSs. The main result is a proof that for many PTSs, including the Calculus of Constructions, this extension preserves strong normalisation.


algebraic methodology and software technology | 2003

Coalgebras and monads in the semantics of java

Bart Jacobs; Erik Poll

This paper describes the basic structures in the denotational and axiomatic semantics of sequential Java, both from a monadic and a coalgebraic perspective. This semantics is an abstraction of the one used for the verification of (sequential) Java programs using proof tools in the LOOP project at the University of Nijmegen. It is shown how the monadic perspective gives rise to the relevant computational structure in Java (composition, extension and repetition), and how the coalgebraic perspective offers an associated program logic (with invariants, bisimulations, and Hoare logics) for reasoning about the computational structure provided by the monad.


international conference on software testing verification and validation workshops | 2013

Formal Models of Bank Cards for Free

Fides Aarts; Joeri de Ruiter; Erik Poll

Learning techniques allow the automatic inference of the behaviour of a system as a finite state machine. We demonstrate that learning techniques can be used to extract such formal models from software on banking smartcards which - as most bank cards do - implement variants of the EMV protocol suite. Such automated reverse-engineering, which only observes the smartcard as a black box, takes little effort and is fast. The finite state machine models obtained provide a useful insight into decisions (or indeed mistakes) made in the design and implementation, and would be useful as part of security evaluations - not just for bank cards but for smartcard applications in general - as they can show unexpected additional functionality that is easily missed in conformance tests.


european symposium on programming | 2007

Immutable objects for a java-like language

Christian Haack; Erik Poll; Jan Schäfer; Aleksy Schubert

We extend a Java-like language with immutability specifications and a static type system for verifying immutability. A class modifier immutable specifies that all class instances are immutable objects. Ownership types specify the depth of object states and enforce encapsulation of representation objects. The type system guarantees that the state of immutable objects does not visibly mutate during a program run. Provided immutability-annotated classes and methods are final, this is true even if immutable classes are composed with untrusted classes that follow Javas type system, but not our immutability type system.

Collaboration


Dive into the Erik Poll's collaboration.

Top Co-Authors

Avatar

Bart Jacobs

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Joeri de Ruiter

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Gary T. Leavens

University of Central Florida

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Christian Haack

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge