Join Point Interfaces

Eric | July 5, 2011

Another paper to appear at the New Ideas track of ESEC/FSE:

While aspect-oriented programming supports the modular definition of crosscutting concerns, most approaches to aspect-oriented programming fail to improve, or even preserve, modular reasoning. The main problem is that aspects usually carry, through their pointcuts, explicit references to the base code. These dependencies make programs fragile. Changes in the base code can unwittingly break a pointcut definition, rendering the aspect ineffective or causing spurious matches. Conversely, a change in a pointcut definition may cause parts of the base code to be advised without notice. Therefore separate development of aspect-oriented programs is largely compromised, which in turns seriously hinders the adoption of aspect-oriented programming by practitioners.

We propose to separate base code and aspects using Join Point Interfaces, which are contracts between aspects and base code. Base code can define pointcuts that expose selected join points through a Join Point Interface. Conversely, an aspect can offer to advise join points that provide a given Join Point Interface. Crucially, however, aspect themselves cannot contain pointcuts, and hence cannot refer to base code elements. In addition, because a given join point can provide several Join Point Interfaces, and Join Point Interfaces can be organized in a subtype hierarchy, our approach supports join point polymorphism. We describe a novel advice dispatch mechanism that offers a flexible and type-safe approach to aspect reuse.

This is joint work with Milton Inostroza and Éric Tanter from the Pleiad group.

Download the paper here.

Comments
Comments Off on Join Point Interfaces
Categories
Research

Stateful Breakpoints: A Practical Approach to Defining Parameterized Runtime Monitors

Eric | July 1, 2011

To appear at the New Ideas track of ESEC/FSE:

A runtime monitor checks a safety property during a program’s execution. A parameterized runtime monitor can monitor properties containing free variables, or parameters. For instance, a monitor for the regular expression “close(s)+ read(s)” will warn the user when reading from a stream s that has previously been closed. Parameterized runtime monitors are very expressive, and research on this topic has lately gained much traction in the Runtime Verification community. Existing monitoring algorithms are very efficient. Nevertheless, existing tools provide little support for actually defining runtime monitors, probably one reason for why few practitioners are using runtime monitoring so far.

In this work we propose the idea of allowing programmers to express parameterized runtime monitors through stateful breakpoints, temporal combinations of normal breakpoints, a concept well known to programmers. We show how we envision programmers to define runtime monitors through stateful breakpoints and parameter bindings through breakpoint expressions. Further, we explain how stateful break- points improve the debugging experience: they are more expressive than normal breakpoints, nevertheless can be evaluated more efficiently. Stateful breakpoints can be attached to bug reports for easy reproducibility: they often allow developers to run directly to the bug in one single step. Further, stateful breakpoints can potentially be inferred from a running debugging session or using property inference and fault localization tools.

Download the paper here.

Comments
Comments Off on Stateful Breakpoints: A Practical Approach to Defining Parameterized Runtime Monitors
Categories
Research
Tags
Breakpoints, Runtime verification

CASED wins another 13.4MEUR funding from the state of Hesse

Eric | June 27, 2011

The Center for Advanced Security Research Darmstadt (CASED) has won another 13.4MEUR funding to continue its research on IT-Security related topics. Click here to read more (German)

Comments
Comments Off on CASED wins another 13.4MEUR funding from the state of Hesse
Categories
Research

Continuation equivalence: a Correctness Criterion for Static Optimizations of Dynamic Analyses

Eric | May 26, 2011

Accepted for publication at WODA 2011:

Dynamic analyses reason about a program’s concrete heap and control flow and hence can report on actual program behavior with high or even perfect accuracy. But many dynamic analyses require extensive program instrumentation, often slowing down the analyzed program considerably.
In the past, researchers have hence developed specialized static optimizations that can prove instrumentation for a special analysis unnecessary at many program locations: the analysis can safely omit monitoring these locations, as their monitoring would not change the analysis results. Arguing about the correctness of such optimizations is hard, however, and ad-hoc approaches have lead to mistakes in the past.
In this paper we present a correctness criterion called Continuation Equivalence, which allows researchers to prove static optimizations of dynamic analyses correct more easily. The criterion demands that an optimization may alter instrumentation at a program site only if the altered instrumentation produces a dynamic analysis configuration equivalent to the configuration of the un-altered program with respect to all possible continuations of the control flow.
In previous work, we have used a notion of continuation-equivalent states to prove the correctness of static optimization for finite-state runtime monitors. With this work, we propose to generalize the idea to general dynamic analyses.

 

Comments
Comments Off on Continuation equivalence: a Correctness Criterion for Static Optimizations of Dynamic Analyses
Categories
Research

RV Deadline extension

Eric | May 26, 2011

I am happy to let you all know that the submission deadline for RV 2011 has been extended by another week. The new deadline is June 12th.

Comments
Comments Off on RV Deadline extension
Categories
Research

TamiFlex slides online

Eric | May 26, 2011

I have just put my slides for the ICSE 2011 talk on TamiFlex online. Download them here in Keynote or PDF format (large!).

Comments
Comments Off on TamiFlex slides online
Categories
Research

Slides from “Festschrift” for Lee Osterweil

Eric | May 25, 2011

Aloha! Today I felt very honored to be part of a honorary “Festschrift” event for Lee Osterweil. My talk was part of a session headed by Matt Dwyer, focusing on offsprings from Lee’s early work on typestate analysis. You can find my slides here in Keynote format (PDF here, large!).

Comments
Comments Off on Slides from “Festschrift” for Lee Osterweil
Categories
Research

ISSTA Call for Participation

Eric | May 22, 2011

We invite you all to participate in ISSTA 2011! Read our call for participation here!

 

Comments
Comments Off on ISSTA Call for Participation
Categories
Research

Submit now to New-Ideas Track at ESEC/FSE

Eric | May 17, 2011

Submissions to the New Ideas and Emerging Results Track at ESEC/FSE are now open. We invite you to submit a 4-pages paper or a poster along with a 2-pages abstract. Submissions are due on June 12th.

Comments
Comments Off on Submit now to New-Ideas Track at ESEC/FSE
Categories
Research
Tags
ESEC/FSE, NIER

ISSTA Program is online, registration is open

Eric | May 11, 2011

Today we have put the ISSTA 2011 program online. This year, ISSTA received an all-time high number of submissions and we also accepted an all-time high number of excellent research papers. They should surely make for an interesting program.
Also, registration is open now. We hope to see you there!

Comments
Comments Off on ISSTA Program is online, registration is open
Categories
Research
Tags
ISSTA