Position Paper: Static Flow-Sensitive & Context-Sensitive Information-flow Analysis for Software Product Lines

Eric | April 22, 2012

In our recent paper accepted at the SIGPLAN Workshop on Programming Languages and Analysis for Security (PLAS), we demonstrate how inter-procedural information-flow analyses for regular programs can be transparently lifted to software product lines (SPLs), so that they can deal with conditional-compilation constructs such as #ifdef. Out approach is based on the IFDS/IDE framework by Reps, Horwitz and Sagiv. Currently, our approach is constrained to direct information flow, but we are already considering an extension to indirect flow as well.

Read the full abstract and paper here:

A software product line encodes a potentially large variety of software products as variants of some common code base, e.g., through the use of #ifdef statements or other forms of conditional compilation. Traditional information-flow analyses cannot cope with such constructs. Hence, to check for possibly insecure information flow in a product line, one currently has to analyze each resulting product separately, of which there may be thousands, making this task intractable.

We report about ongoing work that will instead enable users to check the security of information flows in entire software product lines in one single pass, without having to generate individual products from the product line. Executing the analysis on the product line promises to be orders of magnitude more faster than analyzing products individually.

We discuss the design of our information-flow analysis and our ongoing implementation using the IFDS/IDE framework by Reps, Horwitz and Sagiv.

Download the paper here

Comments
Comments Off on Position Paper: Static Flow-Sensitive & Context-Sensitive Information-flow Analysis for Software Product Lines
Categories
Research

RV 2012 – Call for Papers

Eric | April 15, 2012

3rd International Conference on Runtime Verification (RV 2012)
September 25 – September 28, 2012

Runtime verification is concerned with monitoring and analysis of software and hardware system executions. Runtime verification techniques are crucial for system correctness and reliability; they are significantly more powerful and versatile than conventional testing, and more practical than exhaustive formal verification. Runtime verification can be used prior to deployment, for verification and debugging purposes, and after deployment for ensuring reliability, safety and security, and for providing fault containment and recovery. Topics of interest to the conference include:

  • specification languages and formalisms for traces
  • specification mining
  • program instrumentation
  • monitor construction techniques
  • logging, recording, and replay
  • fault detection, localization, recovery and repair
  • program steering and adaptation
  • metrics and statistical information gathering
  • combination of static and dynamic analyses
  • program execution visualization

Abstract submissions are due on May 27th. Read more here.

Comments
Comments Off on RV 2012 – Call for Papers
Categories
Research

SOAP deadline extended

Eric | March 27, 2012

Due to numerous requests for deadline extensions, we have decided to extend the deadline for SOAP by one week. So submissions are now due on April 4th.

Comments
Comments Off on SOAP deadline extended
Categories
Research

Slides from FOAL keynote talk online

Eric | March 26, 2012

I just delivered my keynote talk at FOAL on “Towards Typesafe Join Points for Modular Reasoning in Aspect-Oriented Programs”. You can find my slides here.

Comments
Comments Off on Slides from FOAL keynote talk online
Categories
Research

Challenges for Refinement and Composition of Instrumentations

Eric | March 15, 2012

A primary goal of the Secure Software Engineering Group is to create methods and tools for reliably implementing security features in large-scale software systems. Such implementations can often be built using specialized static and dynamic analyses. But how do multiple such analyses interact? In a new position paper to appear at SC 2012, we discuss the challenges that arise when trying to refine and compose dynamic analyses.

Abstract:

Instrumentation techniques are widely used for implementing dynamic program analysis tools like profilers or debuggers. While there are many toolkits and frameworks to support the development of such low-level instrumentations, there is little support for the refinement or composition of instrumentations. A common practice is thus to copy and paste from existing instrumentation code. This, of course, violates well-established software engineering principles, results in code duplication, and hinders maintenance. In this position paper we identify two challenges regarding the refinement and composition of instrumentations and illustrate them with a running example.

Comments
Comments Off on Challenges for Refinement and Composition of Instrumentations
Categories
Research

WODA 2012 @ ISSTA

Eric | January 31, 2012

International Workshop on Dynamic Analysis
Co-located with ISSTA, July 15th, 2012, Minneapolis, MN
Submissions are due on May 4th, 2012 (extended)
Note that abstracts are due on May 1st already!

Comments
Comments Off on WODA 2012 @ ISSTA
Categories
Research

FOAL Keynote: Towards Typesafe Weaving for Modular Reasoning in Aspect-Oriented Programs

Eric | January 20, 2012

Attending AOSD? Consider coming two days early to enjoy beautiful Postdam and attend FOAL. I will be giving a keynote presentation in which I will be talking about Closure Join Points and Join Point Interfaces (joint work with Milton Inostroza and Eric Tanter), and how they allow, for the first time, to define aspects that can be truly modularly type-checked and therefore are completely de-coupled from the base code they advise.

Abstract:

In previous work, we and others have studied how aspects can implement important cross-cutting concerns, such as runtime monitors, security monitors, and other security primitives. It is hard to design aspects that implement such concerns correctly. Therefore, once written, one desires to reuse the according aspect definitions for other systems.

In current aspect-oriented systems, however, aspects usually carry, through their pointcuts, explicit references to the base code. Those references are fragile and give up important software engineering properties such as modular reasoning and independent evolution of aspects and base code, hence hindering aspect reuse. A well-studied solution to this problem is to separate base code and aspects using an intermediate interface abstraction. Read the rest of this entry »

Comments
Comments Off on FOAL Keynote: Towards Typesafe Weaving for Modular Reasoning in Aspect-Oriented Programs
Categories
Research
Tags
AOP, AOSD, AspectJ, CJP, JPI

New Technical Reports

Eric | January 17, 2012

I have put online two new Technical Reports. Enjoy…

Identifying meaningless parameterized linear-temporal-logic formulas (Eric Bodden), Technical report TUD-CS-2012-0014, CASED, 2012.

On the Expressiveness of Parameterized Finite-state Runtime Monitors (Eric Bodden), Technical report TUD-CS-2012-0013, CASED, 2012.

Comments
Comments Off on New Technical Reports
Categories
Research

Video on Clara online

Eric | December 14, 2011

Two weeks ago I gave a presentation on the static analyses in Clara at the Université catholique de Louvain. A video of the presentation is available online, along with videos of the other presenters. Enjoy!

Comments
Comments Off on Video on Clara online
Categories
Research

The royalty problem for electronic computer-science publications

Eric | November 19, 2011

The VG WORT is the German collecting society for royalty fees on scientific articles. For years now, I have been diligently signaling each of my publications to the VG WORT, until last year without any problem. Once a year or so they send a cheque. It’s usually not a large amount of money, but it’s always a nice surprise. But recently things changed…

Two times in a row now, my papers have been rejected because they have an “insufficient distribution”. This includes an ICSE paper! The VG Wort requires that articles be present in at least 10 German libraries – in print. Apparently, for ICSE proceedings this is not the case any more. (It’s true, I checked it online.) Now of course one can raise a question if this is a good thing, but maybe it’s just a reality that libraries, at least for current scientific articles, are becoming a thing of the past.

The other question is, though, what does this mean for royalty fees? Surely ICSE papers are read by thousands of people, probably by many more people now than 10 years ago. Still the authors go away empty-handed. I raised the issue with the people responsible at VG WORT, who kindly replied that there is an alternative way to apply for royalty fees. This alternative system is called METIS. It’s meant to be a system to track how often an article is downloaded online. The method is flawed, however: an article is assumed to be downloaded whenever a certain invisible pixel (residing on the VG WORT webserver) is requested. I don’t need to explain to anybody with a computer science background, why this is problematic… adding these pixels to personal websites is quite labor intensive and hardly pays off. The method could work to a large extent if ACM and Springer integrated with the METIS system, but they don’t – and why should they? They have zero incentive to do so.

The problem has been known for a while (see here and here) but it seems that one is still quite far from a solution. Of course this is an interesting and challenging problem: how do you measure how often a paper is copied if it is copied electronically? I am curious to see how things will evolve.

Comments
Comments Off on The royalty problem for electronic computer-science publications
Categories
Research