Skip to main content

Static Data Race Detection in Multi-task Programs for Industrial Robots

  • Conference paper
  • First Online:
Distributed Computing and Intelligent Technology (ICDCIT 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13776))

  • 416 Accesses

Abstract

An industrial robot is an automatic multi-purpose manipulator, programmable in three or more axes. A program written in a high-level programming language controls these robots, many of these programs involve multiple tasks controlling different robots. Data races are a common problem in concurrent and multi-threaded programming and they are of big concern for the multi-task industrial robotics programmers too. We present a static analysis method for detecting data races in multi-task programs for industrial robots. We propose a technique based on a relation that models when two or more statements from a task occur in between two or more statements in another task. Our static analysis is preceded by a manual, dynamic analysis step for ensuring consistency among tasks for one of the constructs which involves a task waiting for a particular duration. We define a set of not-occurs in-between rules to detect whether two statements in different tasks may race with each other. We have developed a prototype implementation of our tool for the Rapid programming language that is used to program industrial robots of ABB. Rapid has all the features of a typical programming language for industrial robots and hence our race detection framework will generalize to any programming language for industrial robots.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. ANSI/RIA R15.06-1999 American National Standard for Industrial Robots and Robot Systems - Safety Requirements (revision of ANSI/ R15.06-1992 (2012)

    Google Scholar 

  2. Adve, S.V.: Data races are evil with no exceptions: technical perspective. Commun. ACM 53(11), 84 (2010)

    Article  Google Scholar 

  3. Artho, C., Havelund, K., Biere, A.: High-level data races. Softw. Test. Verification Reliab. 13, 207–227 (2003). https://doi.org/10.1002/stvr.281

    Article  Google Scholar 

  4. Braumann, J., Brell-Cokcan, S.: Parametric robot control. Integrated CAD/CAM for architectural design (2011)

    Google Scholar 

  5. Faverges, S.: VAL3 REFERENCE MANUAL Version 5.3 (2006)

    Google Scholar 

  6. Harrow, J.J.: Runtime checking of multithreaded applications with visual threads. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 331–342. Springer, Heidelberg (2000). https://doi.org/10.1007/10722468_20

    Chapter  MATH  Google Scholar 

  7. Havelund, K., Rosu, G.: Monitoring Java programs with Java PathExplorer. Electron. Notes Theor. Comput. Sci. 55, 200–217 (2001)

    Article  Google Scholar 

  8. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  9. O’Kane, J.M.: A gentle introduction to ROS (2014)

    Google Scholar 

  10. Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: a dynamic data race detector for multi-threaded programs. ACM Trans. Comput. Syst. 15(4), 391–411 (1997)

    Article  Google Scholar 

  11. Schwarz, M.D., Seidl, H., Vojdani, V., Lammich, P., Müller-Olm, M.: Static analysis of interrupt-driven programs synchronized via the priority ceiling protocol. In: Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 93–104. POPL 2011, Association for Computing Machinery, New York, NY, USA (2011). https://doi.org/10.1145/1926385.1926398

  12. Simulation, Software, O.P.: Robotstudio 2021.2 (2021). https://new.abb.com/products/robotics/robotstudio/downloads

  13. Sweden, A.: Technical reference manual: RAPID instructions, functions and data types. RobotWare 5.13 (2014). https://library.e.abb.com/public/688894b98123f87bc1257cc50044e809/Technical%20reference%20manual_RAPID_3HAC16581-1_revJ_en.pdf. Accessed 12 Sept 2021

  14. Sweden, A.: Application Manual Controller Software IRC5, robotware 6.03, abb, 2016. Robotware 6.03 (2016)

    Google Scholar 

  15. Sweden, A.: Application manual MultiMove RobotWare 6.08, ABB, 2018. RobotWare 6.08 (2018)

    Google Scholar 

  16. Tulsyan, R., Pai, R., D’Souza, D.: Static race detection for RTOS applications (2020)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Ameena K. Ashraf or Meenakshi D’Souza .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Ashraf, A.K., D’Souza, M. (2023). Static Data Race Detection in Multi-task Programs for Industrial Robots. In: Molla, A.R., Sharma, G., Kumar, P., Rawat, S. (eds) Distributed Computing and Intelligent Technology. ICDCIT 2023. Lecture Notes in Computer Science, vol 13776. Springer, Cham. https://doi.org/10.1007/978-3-031-24848-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-24848-1_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-24847-4

  • Online ISBN: 978-3-031-24848-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics