A one-day "refresher" course for engineers that have used SPARK in the
past, using earlier versions of the language and toolset. It is assumed
that students will have used the SPARK Examiner in the past, but not
the Simplifier or other proof tools.
The course covers a reminder of the basics of SPARK: the language subset,
use of the Examiner, information-flow analysis and the diagnosis
and correction of common design errors. The course goes on
to cover more recent development, such as the SPARK95, SPARK2005
and RavenSPARK language profiles, the INFORMED design style for SPARK,
the basic use of the proof tools to establish the absence of
runtime errors, and the impact of SPARK on other areas of the
software process, such as reviewing and testing.
The course will also cover the new SPARK Pro package with the GPS IDE,
case studies and an overview of new language and toolset features. This final
section can be customized to suit the students' particular most-recent
experience with SPARK.
The course does not involve hands-on use of the SPARK tools, but there
are several "pencil and paper" exercises and demonstrations of the toolset
in action.