Global value numbers and redundant computations
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Concast: Design and Implementation of a New Network Service
ICNP '99 Proceedings of the Seventh Annual International Conference on Network Protocols
A wireless sensor network For structural monitoring
SenSys '04 Proceedings of the 2nd international conference on Embedded networked sensor systems
An efficient key establishment scheme for secure aggregating sensor networks
ASIACCS '06 Proceedings of the 2006 ACM Symposium on Information, computer and communications security
Relaxed authenticity for data aggregation in wireless sensor networks
Proceedings of the 4th international conference on Security and privacy in communication netowrks
Towards Verifying Correctness of Wireless Sensor Network Applications Using Insense and Spin
Proceedings of the 16th International SPIN Workshop on Model Checking Software
Reducing False Positives by Combining Abstract Interpretation and Bounded Model Checking
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Bug-Free Sensors: The Automatic Verification of Context-Aware TinyOS Applications
AmI '09 Proceedings of the European Conference on Ambient Intelligence
From hardware verification to software verification: re-use and re-learn
HVC'07 Proceedings of the 3rd international Haifa verification conference on Hardware and software: verification and testing
T-check: bug finding for sensor networks
Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks
Software verification for TinyOS
Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks
Anquiro: enabling efficient static verification of sensor network software
Proceedings of the 2010 ICSE Workshop on Software Engineering for Sensor Network Applications
Life, death, and the critical transition: finding liveness bugs in systems code
NSDI'07 Proceedings of the 4th USENIX conference on Networked systems design & implementation
Hi-index | 0.00 |
We investigate the application of the software bounded model checking tool CBMC to the domain of wireless sensor networks (WSNs). We automatically generate a software behavior model from a network protocol (ESAWN) implementation in a WSN development and deployment platform (TinyOS), which is used to rigorously verify the protocol. Our work is a proof of concept that automatic verification of programs of practical size (≈ 21 000 LoC) and complexity is possible with CBMC and can be integrated into TinyOS. The developer can automatically check for pointer dereference and array index out of bound errors. She can also check additional, e.g., functional, properties that she provides by assume- and assert-statements. This experience paper shows that our approach is in general feasible since we managed to verify about half of the properties. We made the verification process scalable in the size of the code by abstraction (eg, from hardware) and by simplification heuristics. The latter also achieved scalability in data type complexity for the properties that were verifiable. The others require technical advancements for complex data types within CBMC's core.