Adaptable Assertion Checking for Scientific Software Components

We present a proposal for lowering the overhead of interface contract checking for science and engineering applications. Run-time enforcement of assertions is a well-known technique for improving the quality of software; however, the performance penalty is often too high for their retention during deployment, especially for long-running applications that depend upon iterative operations. With an efficient adaptive approach the benefits of run-time checking can continue to accrue with minimal overhead. Examples from scientific software interfaces being developed in the high performance computing research community will be used to measure the efficiency and effectiveness of this approach.

[1]  João Gabriel Silva,et al.  Algorithm based fault tolerance versus result-checking for matrix computations , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[2]  Bertrand Meyer,et al.  The grand challenge of trusted components , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[3]  Daniel S. Katz,et al.  Tests and Tolerances for High-Performance Software-Implemented Fault Detection , 2003, IEEE Trans. Computers.

[4]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[5]  M.S. Feather,et al.  Reconciling system requirements and runtime behavior , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[6]  Wojtek Kozaczynski,et al.  Toward software plug-and-play , 1997, SSR '97.

[7]  Thomas E. Hull,et al.  Exception handling in scientific computing , 1988, TOMS.

[8]  Ali Hamie Enhancing the Object Constraint Language for more expressive specifications , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[9]  Michael I. Jordan,et al.  Bug isolation via remote program sampling , 2003, PLDI.

[10]  Stephen H. Edwards,et al.  A framework for detecting interface violations in component-based software , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[11]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[12]  Ragnhild Van Der Straeten,et al.  Specifying and implementing the operational use of constraints in object-oriented applications , 2002 .

[13]  Takuo Watanabe,et al.  A software model for flexible & safe adaptation of mobile code programs , 2002, IWPSE '02.

[14]  George T. Heineman Integrating Interface Assertion Checkers into Component Models , 2003 .

[15]  Matthew Arnold,et al.  A framework for reducing the cost of instrumented code , 2001, PLDI '01.