Detecting Atomicity Races in ARINC 653 Applications

Atomicity races in ARINC 653 applications are a kind of concurrency bugs which causes nondeterministic behaviors by parallel processes. This paper presents a tool, called AR653, to dynamically detect atomicity races. The tool monitors only synchronization operations and access to shared resources, and analyzes the relation of synchronizations to report atomicity races through a locking discipline of semaphores. We compared the accuracy of AR653 with CodeSonar using synthetic programs on a simulation system for integrated modular avionics. The empirical results show that our tool correctly reports atomicity races, while CodeSonar only locates atomicity races in cases of using shared variables.

[1]  Ok-Kyoon Ha,et al.  On-the-fly healing of race conditions in ARINC-653 flight software , 2010, 29th Digital Avionics Systems Conference.

[2]  P. J. Prisaznuk,et al.  Integrated modular avionics , 1992, Proceedings of the IEEE 1992 National Aerospace and Electronics Conference@m_NAECON 1992.

[3]  Eitan Farchi,et al.  Concurrent bug patterns and how to test them , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[4]  Jaspal Subhlok,et al.  Static analysis of low-level synchronization , 1988, PADD '88.

[5]  Lin Gan,et al.  Visualizing concurrency faults in ARINC-653 real-time applications , 2012, 2012 IEEE/AIAA 31st Digital Avionics Systems Conference (DASC).

[6]  C.B. Watkins,et al.  Transitioning from federated avionics architectures to Integrated Modular Avionics , 2007, 2007 IEEE/AIAA 26th Digital Avionics Systems Conference.

[7]  Michael Burrows,et al.  Eraser: a dynamic data race detector for multithreaded programs , 1997, TOCS.

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

[9]  Dawson R. Engler,et al.  RacerX: effective, static detection of race conditions and deadlocks , 2003, SOSP '03.

[10]  Hyun-Wook Jin,et al.  Full virtualization based ARINC 653 partitioning , 2011, 2011 IEEE/AIAA 30th Digital Avionics Systems Conference.

[11]  Steven H. VanderLeest,et al.  ARINC 653 hypervisor , 2010, 29th Digital Avionics Systems Conference.

[12]  S. Santos,et al.  A portable ARINC 653 standard interface , 2008, 2008 IEEE/AIAA 27th Digital Avionics Systems Conference.

[13]  P.J. Prisaznuk,et al.  ARINC 653 role in Integrated Modular Avionics (IMA) , 2008, 2008 IEEE/AIAA 27th Digital Avionics Systems Conference.