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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Arora, A., et al.: Kansei: A high-fidelity sensing testbed. IEEE Intern. Comp. 10(2), 35–47 (2006)
Bucci, P., et al.: Part III: Implementing components in resolve. SIGSOFT Softw. Eng. Notes 19(4), 40–51 (1994)
Crocker, D., Carlton, J.: Verification of c programs using automated reasoning. In: SEFM 2007, pp. 7–14. IEEE Computer Society, Washington, DC, USA (2007)
Dalton, A., et al.: A testbed for visualizing sensornet behavior. In: IC3N 2008, pp. 1–7. IEEE Computer Society, Washington DC, USA (2008)
Edwards, S., et al.: Part ii: Specifying components in resolve. SIGSOFT Softw. Eng. Notes 19(4), 29–39 (1994)
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)
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)
Harton, H.K.: Modular and Mechanical Verification Condition Generation for Object-Based Software. PhD thesis, Clemson University (2011)
Kulczycki, G.: Direct Reasoning. PhD thesis, Clemson University, Clemson, South Carolina (January 2004)
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)
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)
Levis, P., et al.: Tossim: accurate and scalable simulation of entire tinyos applications. In: SenSys 2003, pp. 126–137. ACM, New York (2003)
McCartney, W.P., Sridhar, N.: Abstractions for safe concurrent programming in networked embedded systems. In: SenSys 2006, New York, USA, pp. 167–180 (2006)
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)
Schulte, W., et al.: A glimpse of a verifying C compiler. In: C/C++ Ver. Workshop (July 2007)
Sitaraman, M., et al.: Building a push-button resolve verifier: Progress and challenges. Formal Asp. Comput., 607–626 (2011)
Titzer, B., Lee, D., Palsberg, J.: Avrora: scalable sensor network simulation with precise timing. In: IPSN 2005, p. 67. IEEE Press, Piscataway (2005)
Tuch, H.: Formal verification of C systems code. J. Autom. Reason. 42(2-4), 125–187 (2009)
Werner-Allen, G., Swieskowski, P., Welsh, M.: Motelab: a wireless sensor network testbed. In: IPSN 2005, p. 68. IEEE Press, Piscataway (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)