High Assurance Software SymposiumFuture Directions of theSPARK Technology                                    Stuart Matthews
SPARK – A DistinguishedTrack Record• The origins of SPARK are in research started over 25  years ago …
SPARK’s Success• SPARK has achieved success across industry  domains …• and in high-profile mission-critical systems …
SPARK Evolution• The SPARK language has evolved over the years:  SPARK‘83, ’95, 2005 – and RavenSPARK• In 2009 the release...
Current Context &Influences• Our desire to innovate and extend SPARK’s  capabilities continues today• Strong links with ac...
Challenges & Opportunities• Requirement for more efficient assurance tools &  techniques for high-grade secure software• I...
The Next GenerationSPARK Technology• Now under development …• A new framework for high assurance software  development, co...
Next Generation SPARK       Language        • Convergence with Ada 2012 syntax …package Ex05                              ...
Next Generation SPARK• Bigger Language Subset …                        Next Gen.                         SPARK   Profiles ...
New Toolset Features:• Replacement of unit and robustness testing by  automated proof  • A Formal Analysis compatible with...
Advanced Information FlowAnalysis• Designed to support secure systems assurance• Visualisation of information flows• Incre...
Generative Mode• A generative mode for data and information flow  analysis     procedure Q (X, Y, Z in : Integer;         ...
Powerful Verification Tools  • Higher levels of automation for proof of functional      properties  • Improved diagnostics...
Next Generation SPARKWill Be …• Released in Q1 of 2014• Available alongside the current SPARK and SPARK  Pro toolsets• Dev...
Further Information• Questions• SPARK Team members are available today!• For further detailed information, please contact ...
Altran Praxis Limited         22 St Lawrence Street         Bath BA1 1AN         United KingdomTelephone +44 (0) 1225 4669...
Upcoming SlideShare
Loading in …5
×

SPARK 2014 - Future directions

3,486 views

Published on

Stuart Mathews gave this talk at the recent SPARK User Group. In it he presents the next generation of the SPARK language which will extend the range of programs that can be automatically verified and provides an innovative means for combing formal verification and testing.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,486
On SlideShare
0
From Embeds
0
Number of Embeds
457
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SPARK 2014 - Future directions

  1. 1. High Assurance Software SymposiumFuture Directions of theSPARK Technology Stuart Matthews
  2. 2. SPARK – A DistinguishedTrack Record• The origins of SPARK are in research started over 25 years ago …
  3. 3. SPARK’s Success• SPARK has achieved success across industry domains …• and in high-profile mission-critical systems …
  4. 4. SPARK Evolution• The SPARK language has evolved over the years: SPARK‘83, ’95, 2005 – and RavenSPARK• In 2009 the release of SPARK Pro provided an updated interface to the tool environment: •GNAT Tracker •GPS & GNATbench IDEs
  5. 5. Current Context &Influences• Our desire to innovate and extend SPARK’s capabilities continues today• Strong links with academic and research communities: •Collaborative research •SPARK community projects• Opportunities and challenges in the high-assurance software domain …
  6. 6. Challenges & Opportunities• Requirement for more efficient assurance tools & techniques for high-grade secure software• Increasing demand for security in safety & mission- critical software• Ada 2012 – contract-based programming• Success of Hi-Lite project – combination of unit testing and formal proof
  7. 7. The Next GenerationSPARK Technology• Now under development …• A new framework for high assurance software development, comprising: •Updated SPARK Language •Powerful Verification Toolset •Software Engineering Method •Training for software engineers
  8. 8. Next Generation SPARK Language • Convergence with Ada 2012 syntax …package Ex05 package Ex14--# own Counter; with Abstract_State => Counter,--# initializes Counter; Initializes => Counteris is procedure Exchange (X, Y : in out Integer); procedure Exchange (X, Y : in out Integer) --# global in out Counter; with Global => (In_Out => Counter), --# derives X from Y & Depends => (X => Y, --# Y from X & Y => X, --# Counter from Counter; Counter => Counter), --# pre X /= Y; Pre => X /= Y, --# post X = Y~ and Y = X~; Post => X = YOld and Y = XOld;end Ex05; end Ex14; • Support for executable and mathematical/provable contracts
  9. 9. Next Generation SPARK• Bigger Language Subset … Next Gen. SPARK Profiles •Discriminant records •Early subprogram returns •More OO support
  10. 10. New Toolset Features:• Replacement of unit and robustness testing by automated proof • A Formal Analysis compatible with D0-333• Formal container library•…
  11. 11. Advanced Information FlowAnalysis• Designed to support secure systems assurance• Visualisation of information flows• Increased refinement of information flow contracts
  12. 12. Generative Mode• A generative mode for data and information flow analysis procedure Q (X, Y, Z in : Integer; A, B, C, D, E : out Integer); Integer) with Depends => ((A, B) => (X, Y), C => (X, Z), D => Y, E => null);
  13. 13. Powerful Verification Tools • Higher levels of automation for proof of functional properties • Improved diagnostics for unproved VCs • Interactive path display • Counter example generation*** Found a counter-example tofunction_example_1_1, conclusion C2: (For path(s) from start to run-time check associated with statement of line 30:)This conclusion is false if: x = -2147483648
  14. 14. Next Generation SPARKWill Be …• Released in Q1 of 2014• Available alongside the current SPARK and SPARK Pro toolsets• Developed in collaboration with research partners and an industrial advisory panel• Previewed in a β-Release for SPARK Pro customers in 2013
  15. 15. Further Information• Questions• SPARK Team members are available today!• For further detailed information, please contact •Michaël Friess michael.friess@adacore.com or •Stuart Matthews stuart.matthews@altran- praxis.com
  16. 16. Altran Praxis Limited 22 St Lawrence Street Bath BA1 1AN United KingdomTelephone +44 (0) 1225 466991Facsimile +44 (0) 1225 469006 Website altran-praxis.com Email stuart.matthews@altran-praxis.com

×