comp.lang.ada
 help / color / mirror / Atom feed
From: Phil Thornley <phil.jpthornley@gmail.com>
Subject: ANN: SPARK: A red-black tree with correctness proofs
Date: Fri, 24 Feb 2012 09:06:59 -0000
Date: 2012-02-24T09:06:59+00:00	[thread overview]
Message-ID: <MPG.29b1639183a1f49f989687@news.zen.co.uk> (raw)


A SPARK package implementing a red-black tree is now available and 
correctness proofs have been completed for the code. (SPARK correctness 
is, of course, partial correctness as there are no proofs of termination 
of the operations.)

The archive can be downloaded from the Data Structures page at:
http://www.sparksure.com/

The readme for the release is:
http://www.sparksure.com/resources/rb_tree_V0_1_ReadMe.txt

In this version the Ada code is complete and all the mandatory SPARK 
annotations for information flow analysis are included, but the optional 
proof annotations within the operations in the package body have been 
excluded. (I have completed these, but they are not yet in a publishable 
form.)

The tree elements store a single integer value. A skelton implementation 
of an Ordered_Set package is included to show how the tree package can 
be used to create ordered containers for arbitrary element types. The 
only additional requirement is for a Key function for the element type, 
returning an integer value, where equivalent elements are defined as 
those that have the same value for Key.

If you find this code useful then please let me know (there is an email 
address with the material in the archive). In particular I am keen to 
know whether anyone would like to have the annotations and rules that 
complete the correctness proofs.


Cheers,

Phil Thornley




             reply	other threads:[~2012-02-24  9:07 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-24  9:06 Phil Thornley [this message]
2012-02-24 15:24 ` ANN: SPARK: A red-black tree with correctness proofs Thomas Løcke
2012-02-24 15:52   ` Yannick Duchêne (Hibou57)
2012-02-24 16:01     ` Phil Clayton
2012-02-24 16:06   ` Simon Wright
2012-02-24 17:16   ` Phil Thornley
replies disabled

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