Case Study on Message Races in Data Distribution Service Programs

Data Distribution Service (DDS) is a dependable communication middleware architecture to provide real-time interoperable data exchanges for airborne software. It is important to efficiently detect message races for debugging DDS programs, because it is the most serious type of software faults. Because message races in DDS cause unpredictable results, they must be detected for debugging. However, there has been no report yet on the existence and its confirmation of unintended message races in DDS programs. This paper empirically presents fault cases how it lead to message races on the different order of events. In order to prove it, we show four cases of message races considering the order of two write events and the quality of service (QoS), which lead to nondeterministic results.

[1]  Yong-Kee Jun,et al.  Detecting Unaffected Race Conditions in Message-Passing Programs , 2004, PVM/MPI.

[2]  Barton P. Miller,et al.  What are race conditions?: Some issues and formalizations , 1992, LOPL.

[3]  Thomas Nolte,et al.  Data Distribution Service for industrial automation , 2012, Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies & Factory Automation (ETFA 2012).

[4]  Michael Philippsen,et al.  Reliable speculative processing of out-of-order event streams in generic publish/subscribe middlewares , 2013, DEBS '13.

[5]  Domenico Cotroneo,et al.  Error detection framework for complex software systems , 2011, EWDC '11.

[6]  Gerardo Pardo-Castellote,et al.  OMG Data-Distribution Service: architectural overview , 2003, 23rd International Conference on Distributed Computing Systems Workshops, 2003. Proceedings..

[7]  J. Javier Gutiérrez,et al.  A survey on standards for real-time distribution middleware , 2013, ACM Comput. Surv..

[8]  Christian Esposito A tutorial on reliability in publish/subscribe services , 2012, DEBS.