SYNOPSIS

spark \kx [OPTIONS] [ FILE_LIST or @METAFILE ]

DESCRIPTION

The Examiner for SPARK, spark, analyses the given source files for errors and violations of the SPARK subset and (optionally) generates verification conditions and dead path conjectures necessary for proof of absence of run-time exceptions and partial correctness.

This manual page only summarises the spark command-line flags, please refer to the full Examiner manual for further information.

OPTIONS

These options do not quite follow the usual GNU command line syntax. All options start with a single dash instead of the usual two and they can also be abbreviated, as long as the abbreviation is unique. For example \*(T<-help\*(T> can be abbreviated to \*(T<-he\*(T> but not \*(T<-h\*(T> as this clashes with \*(T<-html\*(T>.

\*(T<-source_extension=\*(T>file_type

Specifies source file extension (Default 'ada')

\*(T<-noindex_file\*(T>, \*(T<-index_file=\*(T>file_spec

Specifies the index file. By default no index file is used.

\*(T<-nowarning_file\*(T>, \*(T<-warning_file=\*(T>file_spec

Specifies the warning control file. By default no warning control file is used.

\*(T<-noconfig_file\*(T>, \*(T<-config_file=\*(T>file_spec

Specifies the Examiner configuration file. By default no configuration file is used.

\*(T<-noswitch\*(T>

Ignore the \*(T<spark.sw\*(T> file, if it exists.

\*(T<-nolistings\*(T>, \*(T<-listing_extension=\*(T>file_type

By default all listing files have the 'lst' extension. These options can be used to disable listing file generation or to change the default extension.

\*(T<-noreport_file\*(T>, \*(T<-report_file=\*(T>file_spec

By default the report will be named 'SPARK.REP'. These options can be used to change the default name or to disable report generation.

\*(T<-html\*(T>, \*(T<-html=\*(T>dir_spec

Generate HTML listings and report file.

\*(T<-output_directory=\*(T>dir_spec

Generate report, listing and proof files in the specified directory.

\*(T<-plain_output\*(T>

No dates, line or error numbers will appear in the output files.

\*(T<-language=\*(T>L

This can be one of 83, 95 (the default) or 2005.

\*(T<-profile=\*(T>P

Choose between the sequential (the default) or ravenscar language profile.

\*(T<-noduration\*(T>

Do not predefine \*(T<Standard.Duration\*(T>.

\*(T<-syntax_check\*(T>

Perform syntax check only. No semantic checks.

\*(T<-flow_analysis=\*(T>TYPE

Choose between \*(T<information\*(T> or \*(T<data\*(T>.

\*(T<-policy=\*(T>TYPE

Select \*(T<security\*(T> or \*(T<safety\*(T> policy for flow analysis.

\*(T<-vcg\*(T>

Generate VCs.

\*(T<-dpc\*(T>

Generate DPCs.

\*(T<-rules=\*(T>CHOICE

Select policy for generation of composite constant proof rules. Can be one of none (the default), lazy, keen or all.

\*(T<-annotation_character=\*(T>CHAR

Select alternative annotation character. The default is '#'.

\*(T<-noecho\*(T>

Suppress screen output.

\*(T<-nosli\*(T>

Don't generate SLI files.

\*(T<-sparklib\*(T>

Use the standard SPARK library.

\*(T<-nostatistics\*(T>, \*(T<-statistics\*(T>

Append Examiner table usage statistics to the report file. By default we don't do this.

\*(T<-fdl_identifiers=\*(T>OPTION

Control treatment of FDL identifiers when found in SPARK source. Can be one of 'reject' (the default) or 'accept' or <string>.

\*(T<-version\*(T>

Print Examiner banner and statistics and then exit.

\*(T<-help\*(T>

Print command line summary and options.

\*(T<-original_flow_errors\*(T>

Print information flow errors in original, less compact, format.

\*(T<-error_explanations=\*(T>SETTING

Print explanations after error messages. Settings can be off (the default), first_occurrence or every_occurrence.

\*(T<-justification_option=\*(T>TYPE

Select policy for justification of errors. Values can be full (the default), brief or ignore.

\*(T<-casing\*(T>, \*(T<-casing=\*(T>CHOICE

Check casing for identifier references and check casing of package \*(T<Standard\*(T> identifiers. It is also possible to specify i or s to check for only one of these.

RELATED TO spark…

AUTHOR

This manual page was written by Florian Schanda <\*(T<[email protected]\*(T>> for the Debian GNU/Linux system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.