skip to main content
10.1145/3339186.3339195acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicppConference Proceedingsconference-collections
research-article

Rapid Identification of Shared Memory in Multithreaded Embedded Systems with Static Scheduling

Published: 05 August 2019 Publication History

Abstract

Due to the non-deterministic order of interactions between concurrent threads, testing of concurrent software is a challenge. In order to cope with this challenge, researchers have proposed analysis approaches in which the dynamic-based algorithms (e.g., Happens-before, Lockset) are an irreplaceable part. One of the biggest challenges of such algorithms, and a pre-condition to the analysis, is identification of memory locations that are shared between threads. This task is a significant contributor to the overhead of the analysis algorithms. In embedded systems that use static scheduling, scheduling is the implicit synchronization mechanism. In this paper, we suggest taking an advantage of static scheduling scheme to speed up the process of finding variables shared between threads, and with it, the identification of concurrency bugs. We demonstrate this concept by introducing modification to the Lockset algorithm and its internal structure. We show that considering static scheduling reduces the execution analysis time of the Lockset algorithm.

References

[1]
17 June 1998. OSEK/VDX Communication Specification 2.1 revision 1.
[2]
F. Bianchi, A. Margara, and M. Pezze. 2017. A Survey of Recent Trends in Testing Concurrent Software Systems. IEEE Transactions on Software Engineering (2017), 1--1.
[3]
Luis M. Carril and Walter F. Tichy. 2015. Interleaving Generation for Data Race and Deadlock Reproduction. In Proceedings of the 2Nd International Workshop on Software Engineering for Parallel Systems (SEPS 2015). ACM, New York, NY, USA, 26--34.
[4]
Jong-Deok Choi, Keunwoo Lee, Alexey Loginov, Robert O'Callahan, Vivek Sarkar, and Manu Sridharan. 2002. Efficient and Precise Datarace Detection for Multithreaded Object-oriented Programs. In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI '02). ACM, New York, NY, USA, 258--269.
[5]
Mark Christiaens and Koen De Bosschere. 2001. TRaDe, a Topological Approach to On-the-fly Race Detection in Java Programs. In Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1 (JVM'01). USENIX Association, Berkeley, CA, USA, 15--15. http://dl.acm.org/citation.cfm?id=1267847.1267862
[6]
Dongdong Deng, Wei Zhang, and Shan Lu. 2013. Efficient Concurrency-bug Detection Across Inputs. In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA '13). ACM, New York, NY, USA, 785--802.
[7]
Tayfun Elmas, Shaz Qadeer, and Serdar Tasiran. 2010. Goldilocks: A Race-aware Java Runtime. Commun. ACM 53, 11 (Nov. 2010), 85--92.
[8]
P. Zhou et al. 2007. HARD: Hardware-Assisted Lockset-based Race Detection. In High Performance Computer Architecture (HPCA '07). IEEE, Scottsdale, AZ, USA, 121--132.
[9]
Heiko Falk, Sebastian Altmeyer, Peter Hellinckx, Björn Lisper, Wolfgang Puffitsch, Christine Rochange, Martin Schoeberl, Rasmus Bo Sørensen, Peter Wägemann, and Simon Wegener. 2016. TACLeBench: A Benchmark Collection to Support Worst-Case Execution Time Research. In 16th International Workshop on Worst-Case Execution Time Analysis (WCET 2016) (OpenAccess Series in Informatics (OASIcs)), Martin Schoeberl (Ed.), Vol. 55. Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 2:1--2:10.
[10]
Cormac Flanagan and Stephen N. Freund. 2008. Atomizer: A dynamic atomicity checker for multithreaded programs. Science of Computer Programming 71, 2 (2008), 89--109.
[11]
C. A. R. Hoare. 1978. Communicating Sequential Processes. Commun. ACM 21, 8 (Aug. 1978), 666--677.
[12]
Ayal Itzkovitz, Assaf Schuster, and Oren Zeev-Ben-Mordehai. 1999. Toward Integration of Data Race Detection in DSM Systems. J. Parallel Distrib. Comput. 59, 2 (Nov. 1999), 180--203.
[13]
Jasmin Jahic, Matthias Jung, Thomas Kuhn, Claus Kestel, and Norbert Wehn. 2018. A Framework for Non-intrusive Trace-driven Simulation of Manycore Architectures with Dynamic Tracing Configuration. In Runtime Verification, Christian Colombo and Martin Leucker (Eds.). Springer International Publishing, Cham, 458--468.
[14]
J. Jahić, T. Kuhn, M. Jung, and N. Wehn. 2017. Supervised testing of concurrent software in embedded systems. In 2017 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS). 233--238.
[15]
Ali Jannesari. 2015. Detection of High-Level Synchronization Anomalies in Parallel Programs. International Journal of Parallel Programming 43, 4 (01 Aug 2015), 656--678.
[16]
Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21, 7 (July 1978), 558--565.
[17]
Haoxuan Li, Paul De Meulenaere, and Peter Hellinckx. 2017. Powerwindow: a Multi-component TACLeBench Benchmark for Timing Analysis. In Advances on P2P, Parallel, Grid, Cloud and Internet Computing, Fatos Xhafa, Leonard Barolli, and Flora Amato (Eds.). Springer International Publishing, Cham, 779--788.
[18]
Hiroyasu Nishiyama. 2004. Detecting Data Races Using Dynamic Escape Analysis Based on Read Barrier. In Proceedings of the 3rd Conference on Virtual Machine Research And Technology Symposium - Volume 3 (VM'04). USENIX Association, Berkeley, CA, USA, 10--10. http://dl.acm.org/citation.cfm?id=1267242.1267252
[19]
Eli Pozniansky and Assaf Schuster. 2003. Efficient On-the-fly Data Race Detection in Multithreaded C++ Programs. In Proceedings of the Ninth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '03). ACM, New York, NY, USA, 179--190.
[20]
Yao Qi, Raja Das, Zhi Da Luo, and Martin Trotter. 2009. MulticoreSDK: A Practical and Efficient Data Race Detector for Real-world Applications. In Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD '09). ACM, New York, NY, USA, Article 5, 11 pages.
[21]
Paul Sack, Brian E. Bliss, Zhiqiang Ma, Paul Petersen, and Josep Torrellas. 2006. Accurate and Efficient Filtering for the Intel Thread Checker Race Detector. In Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability (ASID '06). ACM, New York, NY, USA, 34--41.
[22]
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, and Thomas Anderson. 1997. Eraser: A Dynamic Data Race Detector for Multithreaded Programs. ACM Trans. Comput. Syst. 15, 4 (Nov. 1997), 391--411.
[23]
A. Sen and O. Kalaci. 2014. Hybrid dynamic data race detection in systemC. In Proceedings of the 2014 Forum on Specification and Design Languages (FDL), Vol. 978-2-9530504-9-3. 1--6.
[24]
Konstantin Serebryany and Timur Iskhodzhanov. 2009. ThreadSanitizer: Data Race Detection in Practice. In Proceedings of the Workshop on Binary Instrumentation and Applications (WBIA '09). ACM, New York, NY, USA, 62--71.
[25]
Christoph von Praun and Thomas R. Gross. 2001. Object Race Detection. In Proceedings of the 16th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA '01). ACM, New York, NY, USA, 70--82.
[26]
Benjamin Wester, David Devecsery, Peter M. Chen, Jason Flinn, and Satish Narayanasamy. 2013. Parallelizing Data Race Detection. In Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '13). ACM, New York, NY, USA, 27--38.
[27]
Steven Cameron Woo, Moriyoshi Ohara, Evan Torrie, Jaswinder Pal Singh, and Anoop Gupta. 1995. The SPLASH-2 Programs: Characterization and Methodological Considerations. In Proceedings of the 22Nd Annual International Symposium on Computer Architecture (ISCA '95). ACM, New York, NY, USA, 24--36.
[28]
J. Yang, C. Yang, and W. K. Chan. 2016. HistLock: Efficient and Sound Hybrid Detection of Hidden Predictive Data Races with Functional Contexts. In 2016 IEEE International Conference on Software Quality, Reliability and Security (QRS). 13--24.
[29]
Z. Yang, Z. Yu, X. Su, and P. Ma. 2016. RaceTracker: Effective and efficient detection of data races. In 2016 17th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD). 293--300.
[30]
M. Yu, S. K. Yoo, and D. H. Bae. 2013. SimpleLock: Fast and Accurate Hybrid Data Race Detector. In 2013 International Conference on Parallel and Distributed Computing, Applications and Technologies. 50--56.
[31]
Yuan Yu, Tom Rodeheffer, and Wei Chen. 2005. RaceTrack: Efficient Detection of Data Race Conditions via Adaptive Tracking. In Proceedings of the Twentieth ACM Symposium on Operating Systems Principles (SOSP '05). ACM, New York, NY, USA, 221--234.

Cited By

View all
  • (2022)BiRD: Race Detection in Software Binaries under Relaxed Memory ModelsACM Transactions on Software Engineering and Methodology10.1145/349853831:4(1-29)Online publication date: 31-Jan-2022

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICPP Workshops '19: Workshop Proceedings of the 48th International Conference on Parallel Processing
August 2019
241 pages
ISBN:9781450371964
DOI:10.1145/3339186
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • University of Tsukuba: University of Tsukuba

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 August 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Data races
  2. Lockset
  3. embedded systems
  4. static scheduling

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • German Federal Ministry of Education and Research (BMBF)

Conference

ICPP 2019
ICPP 2019: Workshops
August 5 - 8, 2019
Kyoto, Japan

Acceptance Rates

Overall Acceptance Rate 91 of 313 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2022)BiRD: Race Detection in Software Binaries under Relaxed Memory ModelsACM Transactions on Software Engineering and Methodology10.1145/349853831:4(1-29)Online publication date: 31-Jan-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media