Abstract
EN-50128, the European standard for railway software safety, requires that software be demonstrated as free from using language features that would trigger known bugs in the compiler.
Given a list of problem reports provided by the compiler vendor, this paper presents a methodology to achieve this goal by identifying conditions that are sufficient to prove that the problem does not happen, and then using a static analysis tool to verify the sufficient conditions.
The methodology has been used and accepted for the certification of SIL4 software, the highest certification level for railway systems.
- ISO/IEC 15291:1999. Information technology --- Programming languages --- Ada Semantic Interface Specification (ASIS)Google Scholar
- EN-50128:2001. Railway applications. Communications, signalling and processing systems. Software for railway control and protection systems. ISBN 058037584 6Google Scholar
- AdaControl web site, http://www.adalog.fr/adacontrol2.htmGoogle Scholar
- "On the benefits for industrials of sponsoring free software development", Ada User Journal, Volume 26, n° 4, December 2005.Google Scholar
Index Terms
- A methodology for avoiding known compiler problems using static analysis
Recommendations
A methodology for avoiding known compiler problems using static analysis
SIGAda '10: Proceedings of the ACM SIGAda annual international conference on SIGAdaEN-50128, the European standard for railway software safety, requires that software be demonstrated as free from using language features that would trigger known bugs in the compiler.
Given a list of problem reports provided by the compiler vendor, this ...
The compiler as a static analysis tool
SIGAda '07This paper shows that a programming language compiler can perform many kinds of tasks that are generally viewed as the domain of separate static analysis tools and, in the other direction, identifies certain kinds of analysis that are best left to ...
MP1: languages for safety-critical software: issues and assessment
SIGAda '08: Proceedings of the 2008 ACM annual international conference on SIGAda annual international conferenceLevel - Intermediate.
This intermediate-level tutorial is aimed at people with a technical background in software development. No previous experience with safety-critical standards is required. Some familiarity with one or more of C, C++, Ada, or Java ...
Comments