Concurrent runtime monitoring of formally specified programs

A methodology for continuously monitoring a program for specification consistency during program execution is described. Prior development of the formal specification and program is assumed. The program is annotated with constructs from a formal specification language, and the formal specification constructs are transformed into checking code, which is then inserted into the underlying program. Calls to this checking code are inserted into underlying program wherever it can potentially become inconsistent with its specification. If an inconsistency does in fact occur, diagnostic information is provided. The implementation of such a system for Anna (annotated Ada) subtype annotations is presented.<<ETX>>

[1]  David C. Luckham Programming with Specifications: An Introduction to ANNA, A Language for Specifying Ada Programs , 1990 .

[2]  Edward J. McCluskey,et al.  The Watchdog Task: Concurrent error detection using assertions , 1985 .

[3]  Leon G. Stucki,et al.  New assertion concepts for self-metric software validation , 1975, Reliable Software.

[4]  J. Michael Spivey,et al.  Understanding Z : A specification language and its formal semantics , 1985, Cambridge tracts in theoretical computer science.

[5]  David J. Lu Watchdog Processors and Structural Integrity Checking , 1982, IEEE Transactions on Computers.

[6]  Friedrich L. Bauer,et al.  Formal Program Construction by Transformations-Computer-Aided, Intuition-Guided Programming , 1989, IEEE Trans. Software Eng..

[7]  S. S. Yau,et al.  Design of self-checking software , 1975 .

[8]  Dorothy E. Denning,et al.  An Intrusion-Detection Model , 1987, IEEE Transactions on Software Engineering.

[9]  Sriram Sankar A note on the detection of an Ada compiler bug while debugging an Anna program , 1989, SIGP.

[10]  David Rosenblum,et al.  An implementation of Anna , 1985, SIGAda '85.

[11]  Robin Bloomfield,et al.  VDM '88 VDM — The Way Ahead , 1988, Lecture Notes in Computer Science.

[12]  Ramanathan V. Guha,et al.  Building large knowledge-based systems , 1989 .

[13]  Peter J. Denning,et al.  Data Security , 1979, CSUR.

[14]  Sriram Sankar,et al.  Automatic runtime consistency checking and debugging of formally specified programs , 1989 .

[15]  R. Dreisbach,et al.  STANFORD UNIVERSITY. , 1914, Science.

[16]  Sriram Sankar,et al.  Concurrent Runtime Checking of Annotated Ada Programs , 1986, FSTTCS.

[17]  James J. Horning,et al.  The Larch Family of Specification Languages , 1985, IEEE Software.

[18]  Olaf Owe,et al.  ANNA A Language for Annotating Ada Programs , 1987, Lecture Notes in Computer Science.

[19]  Edward J. McCluskey,et al.  Concurrent Error Detection Using Watchdog Processors - A Survey , 1988, IEEE Trans. Computers.

[20]  Juris Hartmanis,et al.  The Programming Language Ada Reference Manual American National Standards Institute, Inc. ANSI/MIL-STD-1815A-1983 , 1983, Lecture Notes in Computer Science.

[21]  David Luckham,et al.  Two Dimensional Pinpointing: An Application of Formal Specification to Debugging Packages , 1989 .