Closure Joinpoints: Block Joinpoints without Surprises

Eric | December 28, 2010

Closure JoinpointsTo appear at AOSD 2011:

Block joinpoints allow programmers to explicitly mark regions of base code as “to be advised”, thus avoiding the need to extract the block into a method just for the sake of creating a joinpoint. Block joinpoints appear simple to define and implement. After all, regular block statements in Java- like languages are constructs well-known to the programmer and have simple control-flow and data-flow semantics.

Our major insight is, however, that by exposing a block of code as a joinpoint, the code is no longer only called in its declaring static context but also from within aspect code. The block effectively becomes a closure, Read the rest of this entry »

Comments
Comments Off on Closure Joinpoints: Block Joinpoints without Surprises
Categories
Research
Tags
AOSD, AspectJ, Closures, Joinpoint

Deadline Extension – NFM 2011 (Updated)

Eric | December 12, 2010

The deadline for NFM 2011 has been extended to December 26th! Merry Christmas!

The NASA Formal Methods Symposium is a forum for theoreticians and practitioners from academia, government and industry, with the goals of identifying challenges and providing solutions to achieving assurance in mission- and safety-critical systems. The focus of the symposium is on formal methods, and aims to foster collaboration between NASA researchers and engineers and the wider aerospace and academic formal methods communities. The symposium will be comprised of a mixture of invited talks by leading researchers and practitioners, presentation of accepted papers, and panels.

Update: We received more than 140 submissions, (whew) so please stop submitting! 😉

I wonder if snow shoveling boosts creativity or something… (think)

Comments
Comments Off on Deadline Extension – NFM 2011 (Updated)
Categories
Research
Tags
NASA, NFM

ESEC/FSE 2011 – Call for New Ideas Track papers

Eric | December 6, 2010

The ESEC/FSE 2011 New Ideas track provides researchers with a forum to promote new and original research projects, to seek feedback on novel directions in a research program, and to discover opportunities for new research collaborations.

New Ideas submissions are intended to describe a single and well-defined idea at an early stage of investigation. As opposed to regular research papers, New Ideas papers are not intended to serve as a vehicle for the dissemination of research results. Submissions to the New Ideas track should describe research in progress. Authors of contributions to other tracks are welcome to also submit a paper to the New Ideas track if a specific aspect of their research meets the goal of the track.

Submissions are due June 12th, 2011. Click here for the complete call.

Comments
Comments Off on ESEC/FSE 2011 – Call for New Ideas Track papers
Categories
Research

ICSE Paper on "Taming Reflection" accepted

Eric | November 21, 2010

I am happy to announce that our ICSE submission titled “Taming Reflection – Aiding Static Analysis in the Presence of Reflection and Custom Class Loaders” got accepted for publication. (clap)

Static program analyses and transformations for Java face many problems when analyzing programs that use reflection or custom class loaders: How can a static analysis know which reflective calls the program will execute? How can it get hold of classes that the program loads from remote locations or even generates on the fly? And if the analysis transforms classes, how can these classes be re-inserted into a program that uses custom class loaders?
In this paper we present TamiFlex, a tool chain that offers a partial but often effective solution to these problems. With TamiFlex, programmers can use existing static- analysis tools to produce results that are sound at least with respect to a set of recorded program runs. TamiFlex inserts runtime checks into the program that warn the user in case the program executes reflective calls that the analysis did not take into account. TamiFlex further allows programmers to re-insert offline-transformed classes into a program.
We evaluate TamiFlex in two scenarios: benchmarking with the DaCapo benchmark suite and analysing large-scale interactive applications. For the latter, TamiFlex significantly improves code coverage of the static analyses, while for the former our approach even appears complete: the inserted runtime checks issue no warning. Hence, for the first time, TamiFlex enables sound static whole-program analyses on DaCapo. During this process, TamiFlex usually incurs less than 10% runtime overhead.

Comments
Comments Off on ICSE Paper on "Taming Reflection" accepted
Categories
Research

The double meaning of "Soot and Java"

Eric | November 8, 2010

For a while now, I have been using Google alerts to be notified whenever somebody writes something on Soot and Java. Normally this is quite a good way to find out about new uses of the Soot framework, but not so this month: 😐

Eruptions intensify from deadly Java volcano
Financial Times
on the outskirts of the Central Java city of Yogyakarta, to a radius of 15km. blanketing everything in grey soot and making it hard to breathe.


Dozens killed in latest Mount Merapi eruption
France24
on Friday when Mount Merapi on Indonesia’s Java island erupted once again, altitude of cruising jetliners and the runway was covered in grey soot. Read the rest of this entry »
Comments
Comments Off on The double meaning of "Soot and Java"
Categories
Research

New articel in "Forschen": Absicherung moderner Fahrzeugsoftware

Eric | November 4, 2010

This month, the magazine “Forschen” of the TU Darmstadt is featuring research performed at CASED. Together with Sven Patzina, Lars Patzina, Mira Mezini, Andreas Sewe and Andy Schürr I co-authored the (German) article Absicherung moderner Fahrzeugsoftware. You can download it here, or download the complete edition of the magazine here.

Comments
Comments Off on New articel in "Forschen": Absicherung moderner Fahrzeugsoftware
Categories
Research

Off to Malta, and Chile…

Eric | October 30, 2010

Exciting times are coming up: tomorrow I will be heading to Malta for a week, to attend the RV conference, and then immediately after that I will be flying to beautiful Chile, visiting Eric Tanter’s group and JCC. During those visits I will be giving several tutorials and a research talk on Clara and Soot. Who knows, maybe I will see some of you there. Stay tuned for more, or if you are from Darmstadt then see you again in December! (hi)

Comments
Comments Off on Off to Malta, and Chile…
Categories
Research

IDE 2.0: Collective Intelligence in Software Development

Eric | September 7, 2010

IDE 2.0To appear at the 2010 FSE/SDP Workshop on the Future of Software Engineering Research (FOSER). Download the paper here.

Abstract: Today’s Integrated Development Environments (IDEs) only integrate the tools and knowledge of a single user and workstation. This neglects the fact that the way in which we develop and maintain a piece of software and interact with our IDE provides a rich source of information that can help ourselves and other programmers to avoid mistakes in the future, or improve productivity otherwise. We argue that, in the near future, IDEs will undergo a revolution that will significantly change the way in which we develop and maintain software, through integration of collective intelligence, the knowledge of the masses. We describe the concept of an IDE based on collective intelligence and discuss three example instantiations of such IDEs.

Comments
Comments Off on IDE 2.0: Collective Intelligence in Software Development
Categories
Research
Tags
IDE 2.0

Aspect-oriented Race Detection in Java

Eric | September 3, 2010

TSE PaperOur paper on Aspect-oriented Race Detection in Java (joint work with Klaus Havelund from NASA JPL) is now available on the TSE website and here. It’s part of a TSE special issue on best papers from ISSTA 2008.

The paper enhances the approach presented at ISSTA to also take thread spawns and joins into account. This addresses an omission in the original algorithm raised by Bill Pugh during the ISSTA conference.

Abstract:

In the past researchers have developed specialized programs to aid programmers detecting concurrent programming errors such as deadlocks, livelocks, starvation and data races. In this work we propose a language extension to the aspect-oriented programming language AspectJ, in the form of three new pointcuts, lock(), unlock() and maybeShared(). These pointcuts allow programmers to monitor program events where locks are granted or handed back, and where values are accessed that may be shared amongst multiple Java threads. We decide thread-locality using a static thread-local-objects analysis developed by others. Using the three new primitive pointcuts, researchers can directly implement efficient monitoring algorithms to detect concurrent-programming errors online. As an example, we describe a new algorithm which we call RACER, an adaption of the well-known ERASER algorithm to the memory model of Java. We implemented the new pointcuts as an extension to the AspectBench Compiler, implemented the RACER algorithm using this language extension and then applied the algorithm to the NASA K9 Rover Executive and two smaller programs. Our experiments demonstrate that our implementation is effective in finding subtle data races. In the Rover Executive RACER finds 12 data races, with no false warnings. Only one of these races was previously known.

Comments
Comments Off on Aspect-oriented Race Detection in Java
Categories
Research
Tags
AspectJ, Data races, ISSTA, Race detection

RV Program is up

Eric | August 31, 2010

RV ConferenceThe program for RV 2010 is now available. (clap)

Comments
Comments Off on RV Program is up
Categories
Research
Tags
Malta, RV