Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1785754.1785756guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Certified development tools implementation in objective Caml

Published: 07 January 2008 Publication History

Abstract

This paper presents our feedback from the study on the use of Objective Caml for safety-critical software development tools implementation. As a result, Objective Caml is now used for the new ScadeTM certified embedded-code generator. The requirements for tools implementation are less strict than those for the embedded code itself. However, they are still quite demanding and linked to imperative languages properties, which are usually used for this kind of development. The use of Objective Caml is outstanding: firstly for its high level features (functional language of higher order, parametric polymorphism, pattern matching), secondly for its low level mechanisms needed by the runtime system (GC, exceptions). In order to develop the tools to check the safety-critical software development rules, it is necessary to reinterpret them for this language, and then to adapt Objective Caml so that it satisfies them. Thus, we propose a language restriction and a simplified runtime library in order that we can define and measure the coverage of a program written in Objective Caml according to the MC/DC criteria. Then we can look forward to seeing this kind of languages spread out the industrial environment, while raising the abstraction level in the conception and implementation of tools for certified programs production.

References

[1]
Aponte, M.-V., Chailloux, E., Cousineau, G., Manoury, P.: Advanced Programming Features in Objective Caml. In: 6th Brazilian Symposium on Programming Languages(June 2002).
[2]
Berry, G.: The Effectiveness of Synchronous Languages for the Development of Safety-Critical Systems. Technical report, Esterel-Technologies (2003).
[3]
Boehm, H., Weiser, M., Bartlett, J.F.: Garbage collection in an uncooperative environment. Software - Practice and Experience (September 1988).
[4]
Camus, J.-L., Dion, B.: Efficient Development of Airborne Software with SCADE SuiteTM. Technical report, Esterel-Technologies (2003).
[5]
Chailloux, E.: An Efficient Way of Compiling ML to C. In: Workshop on ML and its Applications. ACM SIGPLAN (June 1992).
[6]
Colaço, J.-L., Pagano, B., Pouzet, M.: A Conservative Extension of Synchronous Data-flow with State Machines. In: ACM International Conference on Embedded Software (EMSOFT 2005), Jersey city, New Jersey, USA (September 2005).
[7]
Colaço, J.-L., Pouzet, M.: Clocks as First Class Abstract Types. In: Third International Conference on Embedded Software (EMSOFT 2003), Philadelphia, Pennsylvania, USA (October 2003).
[8]
Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: The astrée analyser. In: European Symposium on Programming. LNCS (April 2005).
[9]
Dupuy, A., Leveson, N.: An empirical evaluation of the mc/dc coverage criterion on the hete-2 satellite software. In: Digital Aviations Systems Conference (DASC), Philadelphia, Pennsylvania, USA (October 2000).
[10]
Hayhurst, K.J., Veerhusen, D.S., Chilenski, J.J., Rierson, L.K.:A Practical Tutorial on Modified Condition/Decision Coverage. Technical report, NASA/TM-2001- 210876 (May 2001).
[11]
Jones, R., Lins, R.: Garbage Collection. Wiley, Chichester (1996).
[12]
Kapoor, K., Bowen, J.P.: Experimental evaluation of the variation in effectiveness for dc, fpc and mc/dc test criteria. In: ISESE, pp. 185-194. IEEE Computer Society, Los Alamitos (2003).
[13]
Leroy, X.: The Objective Caml system release 3.10 : Documentation and user's manual (2007), http://caml.inria.fr
[14]
Maranget, L.: Warnings for pattern matching. Journal of Functional Programming (2007).
[15]
Pouzet, M.: Lucid Synchrone version 3.0 : Tutorial and Reference Manual (2006), www.lri.fr/~pouzet/lucid-synchrone
[16]
T.C.D.T.L. Project: The Coq Proof Assistant Reference Manual (2006), http://coq.inria.fr/V8.1beta/refman
[17]
RTCA/DO-178B: Software Considerations in Airborne Systems and Equipment Certification. Radio Technical Commission for Aeronautics RTCA (December 1992).
[18]
Starynkevitch, B.: OCamljit - a faster Just-In-TIme Ocaml implementation. In: Workshop MetaOcaml (June 2004).
[19]
Tarditi, D., Lee, P., Acharya, A.: No assembly required: Compiling standard ML to C. ACM Letters on Programming Languages and Systems 1(2), 161-177 (1992).

Cited By

View all
  • (2017)A formally verified compiler for LustreACM SIGPLAN Notices10.1145/3140587.306235852:6(586-601)Online publication date: 14-Jun-2017
  • (2017)A formally verified compiler for LustreProceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3062341.3062358(586-601)Online publication date: 14-Jun-2017
  • (2012)ML dependency analysis for assessorsProceedings of the 10th international conference on Software Engineering and Formal Methods10.1007/978-3-642-33826-7_19(278-292)Online publication date: 1-Oct-2012
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
PADL'08: Proceedings of the 10th international conference on Practical aspects of declarative languages
January 2008
333 pages
ISBN:3540774416
  • Editors:
  • Paul Hudak,
  • David S. Warren

Sponsors

  • Compulog America: Compulog America

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 07 January 2008

Author Tags

  1. civil avionics
  2. code coverage
  3. functional programming
  4. objective caml
  5. tests measurement

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2017)A formally verified compiler for LustreACM SIGPLAN Notices10.1145/3140587.306235852:6(586-601)Online publication date: 14-Jun-2017
  • (2017)A formally verified compiler for LustreProceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3062341.3062358(586-601)Online publication date: 14-Jun-2017
  • (2012)ML dependency analysis for assessorsProceedings of the 10th international conference on Software Engineering and Formal Methods10.1007/978-3-642-33826-7_19(278-292)Online publication date: 1-Oct-2012
  • (2010)Use of formal methods for building qualified code generator for safer automotive systemsProceedings of the 1st Workshop on Critical Automotive applications: Robustness & Safety10.1145/1772643.1772659(53-56)Online publication date: 27-Apr-2010
  • (2009)Experience reportACM SIGPLAN Notices10.1145/1631687.159658244:9(215-220)Online publication date: 31-Aug-2009
  • (2009)Experience reportProceedings of the 14th ACM SIGPLAN international conference on Functional programming10.1145/1596550.1596582(215-220)Online publication date: 31-Aug-2009

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media