Programming with Miracles

Rajeev Joshi 1
1 Laboratory for Reliable Software [JPL]
JPL - Jet Propulsion Laboratory
Abstract : In his seminal book, A Discipline of Programming [EWD 76], Dijkstra proposed that all sequential programs satisfy four laws for their weakest preconditions. By far the catchiest name was reserved for the Law of the Excluded Miracle, which captured the intuition that, started in a given state, a program execution must either terminate or loop forever. In the late 1980s, both Nelson [GN 89] and Morgan [CCM 90] noted that the law was unnecessarily restrictive when writing programs to be used as specications. In the years since, \miracles" have become a standard feature in specication languages (for instance, the assume statement in JML [LLP+00] and BoogiePL [DL 05]). What is perhaps surprising is that miracles are not as commonly used in programs written as implementations. This is surprising because for many everyday tasks, programming in a language with miracles is often far superior to the popular scripting languages that are used instead. In this talk, we build upon pioneering work by Burrows and Nelson [GN 05] who designed the language LIM (\Language of the Included Miracle"). We describe a language LIMe (\LIM with extensions"), and discuss its application in the context of flight software testing, including the analysis of spacecraft telemetry logs.
Type de document :
Communication dans un congrès
Mery, Dominique and Merz, Stephan. Integrated Formal Methods - IFM 2010, Oct 2010, Nancy, France. Springer Berlin / Heidelberg, 6396, pp.27, 2010, Lecture Notes in Computer Science
Liste complète des métadonnées

https://hal.inria.fr/inria-00524770
Contributeur : Ist Inria Nancy Grand Est <>
Soumis le : lundi 11 octobre 2010 - 11:46:37
Dernière modification le : lundi 27 novembre 2017 - 18:50:01

Identifiants

  • HAL Id : inria-00524770, version 1

Collections

Citation

Rajeev Joshi. Programming with Miracles. Mery, Dominique and Merz, Stephan. Integrated Formal Methods - IFM 2010, Oct 2010, Nancy, France. Springer Berlin / Heidelberg, 6396, pp.27, 2010, Lecture Notes in Computer Science. 〈inria-00524770〉

Partager

Métriques

Consultations de la notice

51