Paris, France
Paris, France

Time filter

Source Type

Taft S.T.,AdaCore
Proceedings of the ACM SIGAda Annual International Conference; SIGAda | Year: 2012

This tutorial is aimed at engineers and students who are interested in learning more about parallel programming, particularly for systems with growing numbers of physical processors or cores. © 2012 Author.


Bosch G.,AdaCore
Proceedings of the ACM SIGAda Annual International Conference; SIGAda | Year: 2012

Writing efficient programs for increasingly parallel computer architectures requires the use of hardware primitives, such as atomic read-modify-write instructions or transactional memory. While new libraries and language constructs are introduced to expose the new capabilities, we argue that they are implementation details best left hidden. High-level synchronization constructs, such as those provided by Java and Ada, are both sufficient and necessary for modern programming languages to take full advantage of today's and tomorrow's hardware. While defined in terms of mutual exclusion, we show that these constructs are general enough to allow an enhanced compiler to automatically generate the appropriate lock-free synchronization code for the target system. Language support for synchronization is necessary for efficient, reliable and portable programs. © 2012 ACM.


Kanig J.,AdaCore
Proceedings of the ACM SIGAda Annual International Conference; SIGAda | Year: 2012

We give a hands-on introduction to the tools GNATtest and GNATprove, both developed at AdaCore in the Hi-Lite research project. They allow to do verification of Ada 2012 contracts through testing and formal verification, and also allow a combination of the results of both tools. The tutorial will contain a very short introduction to Ada 2012, and attendees will write a small example on which they can play with GNATtest to develop test cases, and GNATprove to do some formal verification. © 2012 Author.


Taft S.T.,AdaCore
HILT 2013 - Proceedings of the ACM Conference on High Integrity Language Technology | Year: 2013

This tutorial will introduce the attendees to analysis and proof techniques for programs using parallelism and multi-threading. There are no specific prerequisites, but a familiarity with the notions of preconditions and postconditions, aliasing, race conditions, and deadlocks would be of value. The examples will be based on the threading and parallelism models of Java, Ada, and two new parallel languages, one called ParaSail [4] and another, inspired by the verifiable SPARK[1][2] subset of Ada, called Sparkel[3]. We will introduce the distinction between safety and liveness properties, and then focus primarily on techniques for the verification of safety properties, including the absence of race conditions and deadlocks. We will also discuss the issue of determinism vs. non-determinism in parallel and multi-threaded programs. © 2013 Author.


Taft S.T.,AdaCore
HILT 2013 - Proceedings of the ACM Conference on High Integrity Language Technology | Year: 2013

SPARK is a verifiable subset of Ada which has been in use for over 20 years for developing the most critical parts of complex real-time applications [1][2]. A restricted subset of the Ada tasking model is included in the newer versions of SPARK ("RavenSPARK"), but this is a very static model, with a fixed number of tasks and minimal task interaction [3]. In this presentation we will describe an extension of SPARK to support safe highly parallel programming, targeted at the growing number of multicore and manycore processors appearing on the market today. © 2013 ACM.


Moy Y.,AdaCore
CrossTalk | Year: 2014

Submitting a system to certification involves demonstrating, with a degree of confidence commensurate with the system's criticality, that it meets its requirements completely and correctly. The software life cycle process known as verification is responsible for achieving the relevant level of assurance and traditionally has relied on testing and manual reviews. Static analysis (SA) tools are starting to automate some of these verification activities. In this article we discuss what qualifies SA to be used as part of the software verification process in a certification context.


Moy Y.,AdaCore
CrossTalk | Year: 2010

Static analysis tools are gaining popularity for safeguarding against the most common causes of errors in software. The main focus of these tools is on automatic bug-finding-the first stage in a two-phase process where the tool finds bugs and the human then corrects them. This article explains that such a goal is too narrow for critical software assurance (SwA). Instead, static analysis tools should adopt a broader perspective: computing properties of software.


This paper continues the publication of the "SPARK 2014 Rationale", which started in the December 2013 issue of the Ada User Journal. In this instalment, we present three contributions regarding ghost code, Object Oriented programming and functional update in SPARK.


News Article | November 28, 2016
Site: www.businesswire.com

NEW YORK, PARIS, & SINDELFINGEN, Germany--(BUSINESS WIRE)--#ARM--AdaCore announces winners of the first annual Make with Ada competition, an initiative designed to foster the growth of Ada and SPARK for developing embedded systems.


News Article | December 6, 2016
Site: www.businesswire.com

NEW YORK & PARIS & SAN JOSE, Calif.--(BUSINESS WIRE)--Embedded Systems Conference - AdaCore today announced that its CodePeer advanced static analysis tool for Ada has been formally designated as “CWE-Compatible” by the MITRE Corporation’s Common Weakness Enumeration (CWE) Compatibility and Effectiveness Program. This program is a web-based initiative that consolidates and organizes information about cyber-security products and services. “It’s a great achievement to have CodePeer officially recognized as CWE compatible, which confirms that the tool can detect the most frequent types of software vulnerability,” said Arnaud Charlet, AdaCore Technical Director and CodePeer Product Manager. “CodePeer’s deep analysis of Ada code supports a wide range of uses including coding standard checking, automated code review, and exhaustive detection of certain CWE weaknesses as well as other kinds of error.” CodePeer was recognized as CWE-Compatible based on its ability to detect the following code weaknesses, which are among the CWE’s Top 25 Most Dangerous Software Errors: A number of other CWE weaknesses are also detected by CodePeer: CodePeer is an Ada source code analyzer that detects run-time and logic errors. It assesses potential bugs before program execution, serving as an automated peer reviewer, helping to find errors efficiently and early in the development life-cycle. It can also be used to perform impact analysis when introducing changes to the existing code, as well as helping vulnerability analysis for legacy systems. Using control-flow, data-flow, and other advanced static analysis techniques, CodePeer detects errors that would otherwise only be found through labor-intensive debugging. The tool’s deep analysis can directly support formal certification against industry-specific safety standards. For avionics applications CodePeer has been qualified as a Software Verification Tool under DO-178B, automating a number of verification activities defined in paragraph 6.3.4f (“Accuracy and consistency”). These activities include detecting errors such as values outside the bounds of an Ada type or subtype, buffer overflows, integer overflow or wraparound, division by zero, use of uninitialized variables, and floating point underflow. CodePeer has also been qualified for EN 50128, the highest international standard for safety integrity concerning software for railway control and protection, including communications, signaling and processing systems. The EN 50128 qualification material addresses the following: Qualification materials for DO-178B and EN 50128 are available as an option with CodePeer. CodePeer is fully integrated into AdaCore’s GNAT Pro development environment and comes with a number of complementary static analysis tools common to the technology – a coding standard verification tool (GNATcheck), a source code metric generator (GNATmetric) and a document generator. Founded in 1994, AdaCore supplies software development and verification tools for mission-critical, safety-critical and security-critical systems. Four flagship products highlight the company’s offerings: Over the years customers have used AdaCore products to field and maintain a wide range of critical applications in domains such as space systems, commercial avionics, military systems, air traffic management/control, railway systems, medical devices and financial services. AdaCore has an extensive and growing worldwide customer base; see www.adacore.com/customers/ for further information. AdaCore products are open source and come with expert online support provided by the developers themselves. The company has North American headquarters in New York and European headquarters in Paris. www.adacore.com CodePeer is available now. Please contact AdaCore (info@adacore.com) for information on product pricing and supported configurations.

Loading AdaCore collaborators
Loading AdaCore collaborators