comp.lang.ada
 help / color / mirror / Atom feed
From: Rod Chapman <roderick.chapman@googlemail.com>
Subject: Re: SPARK: What does it prove?
Date: Fri, 28 May 2010 06:55:18 -0700 (PDT)
Date: 2010-05-28T06:55:18-07:00	[thread overview]
Message-ID: <80ef9ed5-fd1b-4f41-8df9-b74b690444be@y21g2000vba.googlegroups.com> (raw)
In-Reply-To: 4bffc379$0$2374$4d3efbfe@news.sover.net

On May 28, 2:25 pm, "Peter C. Chapin" <pcc482...@gmail.com> wrote:

> It is common to talk about SPARK proofs but of course what the Simplifier is
> actually proving are the verification conditions generated by the Examiner.
> Formally this leaves open the question of if those verification conditions
> have anything to do with reality or not. Ultimately, it seems to me, before
> one can formally prove anything about the behavior of a program one needs a
> formal semantics for the programming language in question. It is my
> understanding that SPARK95 does not have a formal semantics.

Well..not quite.  The VC generator was constructed and very much
based on the formal semantics for SPARK83 that was
contstructed in the mid-1990s.  We have _lots_ of confidence
that this semantics is completely upwards-compatible
and consistent with the canonical semantics of Ada95 and
this SPARK95 SPARK2005.

Unfortunately, we did not have the funding to keep
that SPARK83 semantics up to date with new features that
were added later like modular types from Ada95, but these
are a fairly modest extension to the language.

There are also lots of assumptions tha underlie any
"proof" of anything - in our case the integrity of the compiler,
linker and the rest of the build environment, the
implementation of the target processor itself and many
other things.  While these are valid concerns, these
assumptions really do seem to hold up in the "real world" - i.e.
with our customers using real commercial compilers, microprocessors
and so on.

In short: it seems to work.
 - Rod Chapman, SPARK Team, Praxis

PS...if the SPARK traffic here really does get annoyingly high,
then perhaps we should create comp.lang.ada.spark?



  reply	other threads:[~2010-05-28 13:55 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-28 13:25 SPARK: What does it prove? Peter C. Chapin
2010-05-28 13:55 ` Rod Chapman [this message]
2010-05-28 15:58   ` Peter C. Chapin
2010-05-29 14:42   ` Marco
2010-05-29 19:02     ` mockturtle
2010-05-30  1:06       ` BrianG
2010-05-30 13:06 ` Yannick Duchêne (Hibou57)
2010-05-31  1:17 ` Yannick Duchêne (Hibou57)
2010-05-31  1:21   ` Yannick Duchêne (Hibou57)
2010-05-31 13:05   ` Phil Thornley
2010-05-31 23:36 ` Jeffrey R. Carter
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox