Project Description

Explore all possible sensornet execution paths

KleeNet - Symbolic Execution of Distributed Systems

High-coverage testing of distributed systems, such as sensornets, is vital for pre-deployment bug cleansing, but has previously been difficult due to the limited set of available tools. The main challenge is to detect bugs that occur due to low-probability events, such as node failures, packet losses, and unforeseen input. These events, due to their non-deterministic nature, have the potential to drive the distributed execution into corner-case situations hard to detect using existing testing and debugging techniques.

In our project, we designed and implemented KleeNet, a debugging environment based on KLEE that aims to effectively discover such situations before deployment. By running unmodified communication protocols on symbolic input and automatically injecting non-deterministic failures, KleeNet automatically generates distributed execution paths at high-coverage. Moreover, we integrated KleeNet with the COOJA sensor network simulator to allow for straight-forward and intuitive testing initiated from a simulation environment. A tight coupling of simulation and testing helps detect, narrow down, and fix complex interaction bugs in an early development phase.

In our recent research efforts we test protocols of communicating virtual machines which are symbolically executed using the S2E framework. Hence, we are able to generate test cases for unmodified distributed software running in diverse networked systems.

The main challenge in this project remains to be the scalability and the pruning of redundant execution states.

People

Team

Alumni

  • Andrius Bentkus (student)
  • Christian Fuchs (student)
  • Olaf Landsiedel
  • Alexander Roth (student)
  • Benjamin Kaminski (student)
  • Johannes van der Giet (student)
  • Fredrik Österlind (external partner, Swedish Institute of Computer Science)
  • Dr. Carsten Weise (IVU Traffic Technologies)
  • Russ Lucas Jukić (student)
  • Xinyu Ge (student)
  • Philipp Kaiser (student)

Publications

References
Raimondas Sasnauskas, Philipp Kaiser, Russ Lucas Jukić and Klaus Wehrle
The 2nd International Workshop on Rigorous Protocol Engineering (WRiPE 2012), 30 October - 02 November 2012, Austin, TX, USA , page 6 S..
IEEE
Piscataway, NJ, USA
October 2012
ISBN: 978-1-4673-2445-8
TAICPART'2012
April 2012
Raimondas Sasnauskas, Oscar Soria Dustmann, Benjamin Lucien Kaminski, Carsten Weise, Stefan Kowalewski and Klaus Wehrle
Proceedings of the 31st IEEE International Conference on Distributed Computing Systems (ICDCS 2011), June 2011, Minneapolis, MN, USA , page 333-342.
Publisher: IEEE Computer Society, Los Alamitos, CA, USA
June 2011
ISBN: 978-0-7695-4364-2
Fredrik Österlind, Raimondas Sasnauskas, Adam Dunkels, Oscar Soria Dustmann and Klaus Wehrle
Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems (SenSys 2010), Zurich, Switzerland , page 383--384.
Publisher: ACM, New York, NY, USA
November 2010
ISBN: 978-1-4503-0344-6
Raimondas Sasnauskas, Olaf Landsiedel, Muhammad Hamad Alizai, Carsten Weise, Stefan Kowalewski and Klaus Wehrle
Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN 2010), Stockholm, Sweden , page 186--196.
Publisher: ACM, New York, NY, USA
April 2010
ISBN: 978-1-60558-988-6
Proceedings of the 6th ACM conference on Embedded network sensor systems (SenSys'08), Raleigh, NC, USA , page 425--426.
Publisher: ACM, New York, NY, USA
November 2008
ISBN: 978-1-59593-990-6
Chair of Communication and Distributed Systems (ComSys), Berlin, Germany
September 2008
Export as:
BibTeX, XML