Toward multi-language, multi-component interface contract enforcement

  • Authors:
  • Tammy Dahlgren;Irina Abramova

  • Affiliations:
  • Lawrence Livermore National Laboratory;University of Southern California

  • Venue:
  • Proceedings of the 2009 Workshop on Component-Based High Performance Computing
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes current work aimed at helping scientists gain confidence in software built from emerging component technologies through the automated enforcement of interface contracts. These contracts consist of assertions required to hold before and after interface methods are executed. Runtime contract enforcement is a well-known technique for enhancing testing and debugging, but is typically considered too expensive for deployment. Prior work investigated strategies intended to retain an application's high performance while enforcing contracts during plug-and-play component deployment. The associated studies involved single-component implementations in C and C++. Current efforts seek to expand and harden the Babel middleware toolkit's contract support. The emphasis is on enforcement across all supported languages. Example clients and implementations have been added to the Babel source code distribution for nearly every supported language combination. Preliminary work on programs utilizing multiple classes and Common Component Architecture-compliant components has also been performed.