Ada Gem #82 --- The strong type system in Ada makes it quite convenient to check at compile time that certain security properties are verified, for example that a tainted value is not used where a trusted one is expected, or that data is properly validated before being used in a sensitive context (think of SQL injection attacks). In this series of two Gems,… (More)
In this Gem and the previous one, we give you a simple walkthrough of SPARK's capabilities and its integration with GPS. In the previous Gem, we showed how to set up a SPARK project and prove that your SPARK programs are free from uninitialized variable accesses and that they execute without run-time errors. In this Gem, we show how to prove that your SPARK… (More)
In this Gem and the next one, we present a simple walk-through of SPARK's capabilities and its integration with GPS. In this first Gem, we show how to set up a SPARK project and prove that your SPARK programs are free from uninitialized variable accesses and that they execute without run-time errors.
Deductive verification based on weakest-precondition calculus has proved effective at proving imperative programs, through a suitable encoding of memory as functional arrays (a.k.a. the Burstall-Bornat model). Unfortunately, this encoding of memory makes it impossible to support features like union and cast in C. We show that an interesting subset of those… (More)
It is now well established that during normal postnatal development there is a partial elimination of the callosal projections of cortical areas 17 and 18 in the cat and that visual experience early in life can modulate this process. In the present experiments, we quantitatively studied the influence of light, per se, by rearing cats in total darkness. Dark… (More)