1. Home
  2. /
  3. Ada-spark
  4. /
  5. Array Sum

Array Sum - Ada-spark Typing CST Test

Loading…

Array Sum — Ada-spark Code

A SPARK Ada function that sums all elements of an integer array.

function Array_Sum(Arr : array (Positive range <>) of Integer) return Integer is
	Sum : Integer := 0;
begin
	for I in Arr'Range loop
		Sum := Sum + Arr(I);
	end loop;
	return Sum;
end Array_Sum;

Ada-spark Language Guide

SPARK is a formally verifiable subset of the Ada programming language designed for high-integrity and safety-critical systems. It enforces strong typing, design-by-contract, and static analysis to mathematically prove program correctness and eliminate entire classes of bugs.

Primary Use Cases

  • ▸Avionics flight control software
  • ▸Railway signaling and interlocking
  • ▸Medical device firmware
  • ▸Cybersecure embedded systems
  • ▸Automotive safety ECUs

Notable Features

  • ▸Design-by-contract with pre/postconditions
  • ▸Strong static typing and modularization
  • ▸GNATprove formal verification
  • ▸Guaranteed absence of runtime errors (AoRTE)
  • ▸High-integrity code generation support

Origin & Creator

Developed by Praxis (now Altran UK) and later extended by AdaCore, leading vendors of Ada technology for mission- and safety-critical software.

Industrial Note

SPARK is used where DO-178C Level A or IEC 61508 SIL-4 compliance is required, enabling mathematical proof of correctness for safety-critical and security-critical applications.

More Ada-spark Typing Exercises

Hello World in SPARK AdaSafe Division with ContractsSum of Two NumbersFactorial FunctionCheck Even NumberMax of Two NumbersSwap Two NumbersSimple Loop PrintCheck Prime Number

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher