A Reordering Framework for Testing Message-Passing Systems

被引:0
作者
Irannejad, Milad [1 ]
Tchamgoue, Guy Martin [1 ]
Fischmeister, Sebastian [1 ]
机构
[1] Univ Waterloo, Waterloo, ON, Canada
来源
2017 IEEE 20TH INTERNATIONAL SYMPOSIUM ON REAL-TIME DISTRIBUTED COMPUTING (ISORC) | 2017年
关键词
Message Passing; order violation; faults; defects;
D O I
10.1109/ISORC.2017.6
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In a message-passing system (MPS), components communicate through messages. However, both the time and order in which messages are delivered depend on the execution environment. The resulting nondeterminism may lead to concurrency defects such as message races, making it difficult to thoroughly test and debug MPS. This paper presents a new framework for testing components of an MPS for faults that involve the violation of any implicit user-intended receiving order of messages. The framework purposefully assesses possible interleavings by reordering incoming messages before delivering them to the tested target component. We evaluate three methods to support the reordering process: the blocking method intercepts and blocks each message until all its dependencies have occurred, the buffering method buffers a message until either its dependencies are observed or a predefined timeout expires, and the adaptive buffering dynamically adjusts its flushing period. All three methods are implemented inside QNX Neutrino, a popular embedded real-time operating system. The evaluation shows a 4x speedup over random testing with minimal run time overhead and only a few kilobytes of memory overhead. These results confirms the effectiveness and capability of the framework to uncover faults in real-world applications.
引用
收藏
页码:109 / 116
页数:8
相关论文
共 34 条
  • [1] Agha G., 1986, ACTORS MODEL CONCURR
  • [2] [Anonymous], OBJECT ORIENTED PROG
  • [3] [Anonymous], P INT C HIGH PERF CO
  • [4] [Anonymous], 2012, CHURCH FAITH CULT M
  • [5] [Anonymous], SCALA DAYS
  • [6] [Anonymous], 2012, ART SOFTWARE TESTING, DOI DOI 10.1002/9781119202486
  • [7] [Anonymous], 2014, POPL 2014, DOI DOI 10.1145/2535838
  • [8] [Anonymous], QNX NEUTR RTOS SYST
  • [9] [Anonymous], PROC SYMP PRINC
  • [10] [Anonymous], P ACM IEEE C SUP