• Video
  • 22-May-2012 02:16 EDT

Building Security In: The SPARK Approach to Software Development


Purchase Required to View Video

Short Preview Below

Software products in the automotive industry are by nature widely distributed and costly to update (recall), so high reliability is clearly of utmost importance. Just as clearly, the increasing reliance on remote access to such systems, for diagnostic and other purposes, has made security an essential requirement, and traditional techniques for software development are proving to be inadequate in dealing with these issues. Correctness by Construction is a software design and development methodology that builds reliability and security into the system from the start. It can be used to demonstrate, with mathematical rigor, a program's correctness properties while reducing the time spent during testing and debugging. This paper will discuss the use of Correctness by Construction, and its accompanying SPARK language technology, to improve automotive systems' security and reliability. (The approach can also account for safely issues, although that is not the focus of this paper.) The SPARK language and toolset avoid vulnerabilities found in other languages and can, for instance, guarantee the absence of run-time errors such as divide-by-zero or buffer overflow. Using the SPARK language and toolset, developers can verify secure information flow through the system and, more generally, demonstrate that security-related properties are achieved. The approach offered by Correctness by Construction and SPARK is in contrast with the use of so-called retrospective static analysis tools that attempt to find errors or vulnerabilities in existing code. Such tools can only demonstrate the presence of errors (which may be correctable) but cannot show how many errors remain in the system. With Correctness by Construction and SPARK, developers can ensure that errors and vulnerabilities are not introduced in the first place. Correctness by Construction and SPARK have a growing success rate in applications where failure is not tolerated and where demanding safely or security standards must be met. The technology has been adopted in safety-critical domains including avionics, air traffic control, and rail transportation, and likewise in systems that must meet the highest security levels defined in the Common Criteria (Evaluation Assurance Levels (EAL) 4 through 7). This paper discusses how to apply Correctness by Construction and the SPARK technology to improve the reliability and security of automotive systems while reducing the costs of development, debugging, and maintenance. It includes examples of previous high-security systems that have been developed using this approach and discusses the applicability of the techniques to automotive systems.

Stuart Matthews

Purchase to View
Learn More
Technical Paper / Journal Article
HTML for Linking to Page
Page URL
Rate It
No ratings yet

View More Video

A new index for evaluating load path dispersion is proposed, using a structural load path analysis method based on the concept of U* , which expresses the connection strength between a load point and an arbitrary point within the structure enables the evaluation of the load path dispersion within the structure by statistical means such as histograms and standard deviations. Presenter Tadashi Naito, Honda R&D Co., Ltd.
Edgewater Computer Systems Inc. product RTEdge Platform 1.2 is a software toolset supporting proof based engineering, implementation and deployment of software components, built using the RTEdge AADL Microkernel modeling subset. This is a small subset of the AADL component model and execution semantics, covering threads and thread-groups communicating solely through asynchronous event ports and through explicitly shared data ports. Threads behavior is expressed as state machines and dispatch run time semantics is encoded in a Run-time Executive, enforcing pre-emptive priority dispatch based on statically assigned event priorities, with ceiling priority protocol access to shared data. This simple AADL microkernel semantic core can support all dispatch policies, communication and synchronization mechanisms of a fully fledged AADL run time environment, permitting the systematic use of the RTEdge static analysis tools for AADL compliant software components.
A debrief video of our 2012 "season".
The System Architecture Virtual Integration (SAVI) program is a collaboration of industry, government, and academic organizations within the Aerospace Vehicle System Institute (AVSI) with the goal of structuring a new integration process that relies on a single-truth architectural framework. The SAVI approach of Integrate, then Build provides a modern distributed development environment which arrests the propagation of requirements errors through the development life cycle. It does so by capturing design assumptions and shared properties of the system design in an authoritative, annotated architectural model. This reference model provides a common, analyzable framework for confirming that system requirements remain complete, consistent, and correct at all levels of system decomposition. Core concepts of SAVI include extensive use of model-based system engineering tools and use of a single-truth reference architectural model.

Related Items

Technical Paper / Journal Article
Training / Education
Technical Paper / Journal Article
Technical Paper / Journal Article