Skip to main content

A Case Study in Verification of Embedded Network Software

  • Conference paper
NASA Formal Methods (NFM 2012)

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

Included in the following conference series:

Abstract

Embedded network systems support a variety of application domains, including environmental monitoring, social networking, and healthcare. These large networks of low-powered microcontroller-based nodes present challenges in ensuring correctness of the software that runs on these systems. Most embedded networked systems are programmed in C. Verifying software written in C is difficult. In this paper, we take a different approach: We report on our work using the RESOLVE language to program embedded networked systems. Our compiler leverages the RESOLVE verification system and maintains the correctness guarantees established during verification. The verified code is then translated into property-preserving C code that can run on the target hardware.

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. Arora, A., et al.: Kansei: A high-fidelity sensing testbed. IEEE Intern. Comp. 10(2), 35–47 (2006)

    Article  Google Scholar 

  2. Bucci, P., et al.: Part III: Implementing components in resolve. SIGSOFT Softw. Eng. Notes 19(4), 40–51 (1994)

    Article  MathSciNet  Google Scholar 

  3. Crocker, D., Carlton, J.: Verification of c programs using automated reasoning. In: SEFM 2007, pp. 7–14. IEEE Computer Society, Washington, DC, USA (2007)

    Google Scholar 

  4. Dalton, A., et al.: A testbed for visualizing sensornet behavior. In: IC3N 2008, pp. 1–7. IEEE Computer Society, Washington DC, USA (2008)

    Google Scholar 

  5. Edwards, S., et al.: Part ii: Specifying components in resolve. SIGSOFT Softw. Eng. Notes 19(4), 29–39 (1994)

    Article  Google Scholar 

  6. Filliâtre, J.-C., Marché, C.: Multi-prover Verification of C Programs. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol. 3308, pp. 15–29. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  7. Hanna, Y., Rajan, H., Zhang, W.: Slede: A domain-specific verification framework for sensor network security protocol implementations. In: WiSec 2008, March 31-April 2, pp. 109–118. ACM, New York (2008)

    Chapter  Google Scholar 

  8. Harton, H.K.: Modular and Mechanical Verification Condition Generation for Object-Based Software. PhD thesis, Clemson University (2011)

    Google Scholar 

  9. Kulczycki, G.: Direct Reasoning. PhD thesis, Clemson University, Clemson, South Carolina (January 2004)

    Google Scholar 

  10. Kulczycki, G., Smith, H., Harton, H., Sitaraman, M., Ogden, W.F., Hollingsworth, J.E.: The Location Linking Concept: A Basis for Verification of Code Using Pointers. In: Joshi, R., Müller, P., Podelski, A. (eds.) VSTTE 2012. LNCS, vol. 7152, pp. 34–49. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  11. Leinenbach, D., Paul, W., Petrova, E.: Towards the formal verification of a c0 compiler: Code generation and implementation correctnes. In: SEFM 2005, pp. 2–12. IEEE Computer Society, Washington, DC, USA (2005)

    Google Scholar 

  12. Levis, P., et al.: Tossim: accurate and scalable simulation of entire tinyos applications. In: SenSys 2003, pp. 126–137. ACM, New York (2003)

    Chapter  Google Scholar 

  13. McCartney, W.P., Sridhar, N.: Abstractions for safe concurrent programming in networked embedded systems. In: SenSys 2006, New York, USA, pp. 167–180 (2006)

    Google Scholar 

  14. Merz, F., Falke, S., Sinz, C.: LLBMC: Bounded Model Checking of C and C++ Programs Using a Compiler IR. In: Joshi, R., Müller, P., Podelski, A. (eds.) VSTTE 2012. LNCS, vol. 7152, pp. 146–161. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  15. Schulte, W., et al.: A glimpse of a verifying C compiler. In: C/C++ Ver. Workshop (July 2007)

    Google Scholar 

  16. Sitaraman, M., et al.: Building a push-button resolve verifier: Progress and challenges. Formal Asp. Comput., 607–626 (2011)

    Google Scholar 

  17. Titzer, B., Lee, D., Palsberg, J.: Avrora: scalable sensor network simulation with precise timing. In: IPSN 2005, p. 67. IEEE Press, Piscataway (2005)

    Google Scholar 

  18. Tuch, H.: Formal verification of C systems code. J. Autom. Reason. 42(2-4), 125–187 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  19. Werner-Allen, G., Swieskowski, P., Welsh, M.: Motelab: a wireless sensor network testbed. In: IPSN 2005, p. 68. IEEE Press, Piscataway (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Regula, K.C., Smith, H., Harton Keown, H., Hallstrom, J.O., Sridhar, N., Sitaraman, M. (2012). A Case Study in Verification of Embedded Network Software. In: Goodloe, A.E., Person, S. (eds) NASA Formal Methods. NFM 2012. Lecture Notes in Computer Science, vol 7226. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28891-3_38

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-28891-3_38

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28890-6

  • Online ISBN: 978-3-642-28891-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics