Category Archives: Open-DO News

DoD and Open Source Software

A number of very interesting articles in February’s SoftwareTech News look at the use of FLOSS by the DoD. Topics below give an insight the DoD’s position and strategy in employing open source software.

  • Software is a Renewable Military Resource
  • Military Open Source Community Growing
  • Evaluating Open Source Software
  • Open Source Software Is Commercial
  • Implementing Open Standards in Open Source
  • Running Open Technology Development Projects
  • Publicly Releasing Open Source Software Developed for the U.S. Government
  • Posted in Open-DO News | Leave a comment

    Being Elmer Fudd

    Ever found yourself in an extreme stressed state because of some bugs* escaping you? Then you know how it feels to be Elmer Fudd. Not a typical hero, never victorious in his hunt. So it feels being a software engineer. A new episode in this tragicomedy is a paper by Yang et al. from Uni Utah that will be presented at PLDI conference this year.

    In this paper, the authors report on 3 years looking for bugs in C compilers. They generated random compliant ANSI C programs, which all C compilers should compile to a program computing the same values, and compared the results of various C compilers on the generated programs. They found 325 bugs, 8 of which they present in a few lines in the paper. Really savory to see how logic defeats man. In case you chill like me over these bug stories, you can read some I wrote at Microsoft and at AdaCore.

    The light in the dark comes from a little known C compiler, CompCert whose middle-end successfully defeated the repeated attacks (6 CPU-years!) of the researchers. Guess what? It is written in Coq, a formal language, which allowed proving its correctness. Also interesting is the fact that even CompCert had bugs in its non formally verified parts, like the parser, where it makes sense to have testing in place.

    * bunny of course

    Also posted in Certification, Papers and Slides | Tagged , | Leave a comment

    Hi-Lite: a Verification Toolkit for Unit Test & Unit Proof

    A presentation by Yannick Moy, Senior Engineer, AdaCore, at a recent talk at IRILL Days 2010. Video courtesy of IRILL (http://www.irill.org)

    More on Hi-Lite…

    Also posted in Videos | Leave a comment

    Formal Containers

    We have added a new page describing Formal Containers to the Hi-Lite project. It describes a new version of the API for Ada definite containers, designed to simplify the annotation process. An implementation of these containers will be usable in critical programs. It is really interesting to have containers for critical systems, since they are often a good trade-off for ad-hoc, pointer-based structures which make users’ code hard to certify. Since they have been formally axiomatized, these containers will be part of the Ada subset that can be formally proved correct in the context of Hi-Lite.
    Posted in Open-DO News | Leave a comment

    Designing and Implementing a Verifiable High Assurance Workstation (Alex Senier – secunet)

    From a talk given at the SPARK User Group 2010 High Assurance Software Symposium, Alex Senier from secunet talks about their experiences building High Assurance workstations.
    Also posted in Events, Videos | Leave a comment

    Couverture end of project event

    17:30 CET January 27th, 2011 – AdaCore Paris offices, 46 rue d’Amsterdam, 75009 Paris.

    Project Couverture has officially come to an end. It’s objectives were to produce a Free Software coverage analysis toolset together with artifacts that allow the tools to be used by developers of safety-critical and mission-critical projects, including systems that need to be certified under safety standards such as DO-178B. The 2 year project was partially funded by the regional authorities of Paris and the Ile-de-France district and the French Ministry of Industry.

    The event will highlight the results of the project and showcase the products that have subsequently been developed. If you are interested in attending, please send email to events @ adacore.com.

    Posted in Open-DO News | Leave a comment

    Case Study: Can you afford to ignore formal analysis?

    This is a title I’d like to reuse some day for a case study in Hi-Lite, but right now it is the title of a very interesting paper published by EE Times: people from Alcatel-Lucent formally verified many properties of an ASIC design in a large communication system.

    What is stricking is the similarity of the findings and the challenges with what we do in Hi-Lite, despite the very different nature of the properties verified in hardware and in software, and the different techniques involved. Pages 3 and 4, they detail the additional errors found by formal verification on a codebase already simulated, with actual examples of what simulation missed and why. Very instructive. Which leads them to propose to bring together simulation and formal verification on page 5.

    Interestingly, the difficulties to bring these two worlds together are the same as the ones in software: different semantics in simulation and formal verification (ex 1 p 5) and non-executable annotations (ex 2 p 5). Good thing that we insisted on the same semantics in Hi-Lite for execution and formal verification, as well as executable annotations!

    Also posted in Certification, Papers and Slides | Tagged , , | Leave a comment

    Agile Qualification and the Qualifying Machine

    Matteo Bordin presented the Qualifying Machine at the Certification Together Conference 2010 . The Qualifying Machine is an integrated repository to manage qualification (and certification) -oriented artifacts like requirements, test cases, source code and verification reports. Its main goal is to provide an agile framework to cope with end-to-end traceability, incremental certification/qualification and change impact analysis.
    Posted in Open-DO News | Leave a comment

    Hi-Lite Progress: Discussions on Specification Languages

    We had yesterday our first joint meeting in Hi-Lite since the start of the project, 6 months ago. This was the occasion for CEA to present their ideas for E-ACSL (the executable fragment of the ACSL specification language for C) and for us at AdaCore to present our ideas for ALFA (the subset of Ada 2012 that will be suitable for formal verification).

    The overall directions have been agreed by all partners. In particular, we agreed on the vision of a product that allows unit testing and/or unit proof on individual functions from a program, depending on the features of C/Ada exercized in the function. This will be a major departure from other formal verification tools and methodologies (SPARK, B method) allowing a finer-grain choice of what should be formally verified and what should be tested.

    Discussions on E-ACSL and ALFA are expected to continue on the public mailing list hi-lite-discuss@lists.forge.open-do.org.

    Posted in Open-DO News | Leave a comment

    Integrating Formal Methods into Software for Avionics Certification

    In this recent article published in Defense Tech Briefs, Robert Dewar discusses how integrating formal methods into the software design process can bring better assurance than traditional testing methods. Through the Hi-Lite project, he looks at how testing, static analysis, and formal methods combined could “advance the state of the practice in developing modern avionics systems and other critical software.”
    Also posted in Certification, In the Press | Leave a comment
    • Categories

    • Open-DO Projects

    • Want to get involved?

    • Contact