[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

Non-Intrusive Structural Coverage for Objective Caml

Published: 01 February 2011 Publication History

Abstract

This paper presents a non-intrusive method for Objective Caml code coverage analysis. While classic methods rewrite the source code to an instrumented version that will produce traces at runtime, our approach chooses not to rewrite the source code. Instead, we use a virtual machine to monitor instructions execution and produce traces. These low-level traces are used to create a machine code coverage report. Combined with control-flow debug information, they can be analyzed to produce a source code coverage report. The purpose of this approach is to make available a method to generate code coverage analysis with the same binary for testing and for production. Our customized virtual machine respects the same semantics as the original virtual machine; one of its original aspects is that it is implemented in the Objective Caml, the very language we build the tool for. This work is part of the Coverage project, which aims to develop open source tools for safety-critical embedded applications and their code generators.

References

[1]
MLcov, http://www.algo-prog.info/mlcov.
[2]
Qemu documentations, http://www.qemu.org.
[3]
The DWARF Debugging Standard (2007), http://dwarfstd.org.
[4]
Berry, G., The Effectiveness of Synchronous Languages for the Development of Safety-Critical Systems, Technical report, Esterel-Technologies (2003).
[5]
Camus, J.-L. and B. Dion, Efficient Development of Airborne Software with SCADE SuiteTM, Technical report, Esterel-Technologies (2003).
[6]
Canou, B., V. Balat and E. Chailloux, O'Browser: Objective Caml on Browsers, in: Proceedings of the 2008 ACM SIGPLAN Workshop on ML The 2008 ACM SIGPLAN Workshop on ML, 2008, pp. 69-78, http://www.pps.jussieu.fr/~canou/obrowser/tutorial/.
[7]
http://cadmium.x9c.fr
[8]
ftp://ftp.irisa.fr/local/caps/DEPOTS/BIBLIO2007/biblio_delahaye_mickael.pdf
[9]
Graham, S.L., P.B. Kessler and M.K. McKusick, gprof: a call graph execution profiler (1982).
[10]
Hayhurst, K.J., D.S. Veerhusen, J.J. Chilenski and L.K. Rierson, A Practical Tutorial on Modified Condition/Decision Coverage, Technical report, NASA/TM-2001-210876 (2001).
[11]
Leroy, X., The ZINC Experiment: an Economical Implementation of the ML Language, Technical Report 117, INRIA (1990).
[12]
Leroy, X., The Objective Caml system release 3.10: Documentation and user's manual, Technical report, Inria (2008), http://caml.inria.fr.
[13]
http://java.sun.com/developer/technicalArticles/Programming/jvmpitransition
[14]
Pagano, B., Andrieu, O., Canou, B., Chailloux, E., Colaço, J.-L., Moniot, T. and Wang, P., Certified Development Tools Implementation in Objective Caml. In: Hudak, P., Warren, D.S. (Eds.), Lecture Notes in Computer Science, 4902. pp. 2-17.
[15]
Pagano, B., O. Andrieu, T. Moniot, B. Canou, E. Chailloux, P. Wang, P. Manoury and J.-L. Colaço, Experience Report: Using Objective Caml to Develop Safety-Critical Embedded Tools in a Certification Framework, in: International Conference of Functional Programming (ICFP 09), 2009.
[16]
http://ocamlviz.forge.ocamlcore.org
[17]
RTCA/DO-178B, Software Considerations in Airborne Systems and Equipment Certification (1992), Radio Technical Commission for Aeronautics RTCA.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Electronic Notes in Theoretical Computer Science (ENTCS)
Electronic Notes in Theoretical Computer Science (ENTCS)  Volume 264, Issue 4
February, 2011
72 pages

Publisher

Elsevier Science Publishers B. V.

Netherlands

Publication History

Published: 01 February 2011

Author Tags

  1. Certification Tools Design
  2. Code Coverage
  3. Objective Caml Virtual Machine

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media