Skip to main content

On Designing an ACL2-Based C Integer Type Safety Checking Tool

  • Conference paper
NASA Formal Methods (NFM 2013)

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

Included in the following conference series:

  • 1305 Accesses

Abstract

The C integer types are prone to errors due to unchecked casting that can leave programs vulnerable to a host of security exploits. These errors manifest themselves when there is a semantic disconnect between the programmer’s view of the language and the actual implementation of the programming language. To help detect these errors, we are developing a C integer type safety checking tool written in ACL2. This paper presents the justification and fundamental logic behind the tool, the basic operations of the tool, and discussion of future plans.

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. ISO/IEC: Programming Language—C. International Committee for Information Technology Standards. Iso/iec 9899:2011 edn. (October 2011)

    Google Scholar 

  2. Seacord, R.C.: Secure Coding in C and C++. Pearson Education (2006)

    Google Scholar 

  3. Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: The ASTREÉ analyzer. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 21–30. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  4. Ritichie, D.M.: The development of the C language. ACM SIGPLAN Notices 4, 201–208 (March 1993); Reprints of the Second ACM SIGPLAN History of Programming Language (HOPL II)

    Google Scholar 

  5. ISO/IEC: C Programming Language. International Committee for Information Technology Standards. Iso/iec 9899:1999 edn. (1999)

    Google Scholar 

  6. Mitchell, J.C.: Type inference with simple subtypes. Journal of Functional Programming 1(3), 245–285 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  7. Cardelli, L.: Type systems. In: Handbook of Computer Science and Engineering. CRC Press (1997)

    Google Scholar 

  8. Kaufmann, M., Manolios, P., Moore, J.S.: Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, USA (2002)

    Google Scholar 

  9. Alves-Foss, J.: C2acl2 translator design document. Technical report, Computer Science Department, University of Idaho (2010)

    Google Scholar 

  10. Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems 16, 1811–1841 (1994)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Krause, K., Alves-Foss, J. (2013). On Designing an ACL2-Based C Integer Type Safety Checking Tool. In: Brat, G., Rungta, N., Venet, A. (eds) NASA Formal Methods. NFM 2013. Lecture Notes in Computer Science, vol 7871. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38088-4_36

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38088-4_36

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38087-7

  • Online ISBN: 978-3-642-38088-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics