Skip to main content

Testing-Based Compiler Validation for Synchronous Languages

  • Conference paper
NASA Formal Methods (NFM 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8430))

Included in the following conference series:

Abstract

In this paper we present a novel lightweight approach to validate compilers for synchronous languages. Instead of verifying a compiler for all input programs or providing a fixed suite of regression tests, we extend the compiler to generate a test-suite with high behavioral coverage and geared towards discovery of faults for every compiled artifact. We have implemented and evaluated our approach using a compiler from Lustre to C.

Acknowledgement for the projects ANR INS CAFEIN and NSF Craves.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Benveniste, A., Berry, G.: The synchronous approach to reactive and real-time systems. In: Proceedings of the IEEE, pp. 1270–1282 (1991)

    Google Scholar 

  2. Biernacki, D., Colaço, J.L., Hamon, G., Pouzet, M.: Clock-directed modular code generation for synchronous data-flow languages. In: Flautner, K., Regehr, J. (eds.) LCTES, pp. 121–130. ACM (2008)

    Google Scholar 

  3. Boujarwah, A., Saleh, K.: Compiler test case generation methods: a survey and assessment. Information and Software Technology 39(9), 617–625 (1997)

    Article  Google Scholar 

  4. Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.: Lustre: A declarative language for programming synchronous systems. In: POPL 1987, pp. 178–188. ACM Press (1987)

    Google Scholar 

  5. Hagen, G., Tinelli, C.: Scaling up the formal verification of Lustre programs with SMT-based techniques. In: FMCAD 2008, pp. 109–117. IEEE (2008)

    Google Scholar 

  6. Kahsai, T., Tinelli, C.: PKind: a parallel k-induction based model checker. In: PDMC. EPTCS, vol. 72, pp. 55–62 (2011)

    Google Scholar 

  7. Leroy, X.: Formal verification of a realistic compiler. Communications of the ACM 52(7), 107–115 (2009)

    Article  Google Scholar 

  8. Necula, G.C.: Translation validation for an optimizing compiler. SIGPLAN Not. 35(5), 83–94 (2000)

    Article  Google Scholar 

  9. Whalen, M., Gay, G., You, D., Heimdahl, M.P.E., Staats, M.: Observable modified condition/decision coverage. In: ICSE 2013, pp. 102–111. IEEE Press (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Garoche, PL., Howar, F., Kahsai, T., Thirioux, X. (2014). Testing-Based Compiler Validation for Synchronous Languages. In: Badger, J.M., Rozier, K.Y. (eds) NASA Formal Methods. NFM 2014. Lecture Notes in Computer Science, vol 8430. Springer, Cham. https://doi.org/10.1007/978-3-319-06200-6_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-06200-6_19

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-06199-3

  • Online ISBN: 978-3-319-06200-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics