ORDER VIOLATION IN MULTITHREADED APPLICATIONS AND ITS DETECTION IN STATIC CODE ANALYSIS PROCESS
Damian GIEBAS
rafal.wojszczyk@tu.koszalin.plFaculty of Electronics and Computer Science, Koszalin University of Technology, Śniadeckich 2,75-453 Koszalin (Poland)
Rafał WOJSZCZYK
* Faculty of Electronics and Computer Science, Koszalin University of Technology, Śniadeckich 2,75-453 Koszalin (Poland)
Abstract
The subject presented in the paper concerns resource conflicts, which are the cause of order violation in multithreaded applications. The work focuses on developing conditions that can be implemented as a tool for allowing to detect these conflicts in the process of static code analysis. The research is based on known errors reported to developers of large applications such as Mozilla Firefox browser and MySQL relational database system. These errors could have been avoided by appropriate monitoring of the source code.
Keywords:
order violation, conflicts of resources, static analysis of the codeReferences
Abbaspour Asadollah, S., Sundmark, D., Eldh, S., & Hansson, H. (2017). Concurrency bugs in open source software: a case study. Journal of Internet Services and Applications, 8, 4. https://doi.org/10.1186/s13174-017-0055-2
DOI: https://doi.org/10.1186/s13174-017-0055-2
Google Scholar
Abdulhamid, M., & Kinyua, N. (2020). Software for recognition of car number plate. Applied Computer Science, 16(1), 73–84. https://doi.org/10.23743/acs-2020-06
Google Scholar
Andrew, J., Mcpherson, A. J., Nagarajan, V., Sarkar, S., & Cintra, M. (2015). Fence Placement for Legacy Data-Race-Free Programs via Synchronization Read Detection. ACM Trans. Archit. Code Optim., 12(4), 46. https://doi.org/10.1145/2835179
DOI: https://doi.org/10.1145/2835179
Google Scholar
Bishop, M., & Dilger, M. (1996). Checking for Race Conditions in File Accesses. Computing Systems, 9(2), 131–152.
Google Scholar
Cai, Y., Wu, S., & Chan, W. K. (2014). ConLock: a constraint-based approach to dynamic checking on deadlocks in multithreaded programs. In Proceedings of the 36th International Conference on Software Engineering ICSE 2014 (pp. 491–502). https://doi.org/10.1145/2568225.2568312
DOI: https://doi.org/10.1145/2568225.2568312
Google Scholar
Chen, D., Jiang, Y., Xu, C., Ma, C., & Lu, J. (2018). Testing multithreaded programs via thread speed control. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018) (pp. 15–25). https://doi.org/10.1145/3236024.3236077
DOI: https://doi.org/10.1145/3236024.3236077
Google Scholar
Chew, L., & Lie, D. (2010). Kivati: fast detection and prevention of atomicity violations. In Proceedings of the 5th European conference on Computer systems (EuroSys '10) (pp. 307–320). Association for Computing Machinery. https://doi.org/10.1145/1755913.1755945
DOI: https://doi.org/10.1145/1755913.1755945
Google Scholar
Cygan, S., Borowik, B., & Borowik, B. (2018). Street lights intelligent system, based on the Internet of Things koncept. Applied Computer Science, 14(1), 5–15. https://doi.org/10.23743/acs-2018-01
Google Scholar
Giebas, D., & Wojszczyk, R. (2018). Graphical representations of multithreaded applications. Applied Computer Science, 14(2), 20–37. https://doi.org/10.23743/acs-2018-10
Google Scholar
Giebas, D., & Wojszczyk, R. (2020a). Multithreaded Application Model. Advances in Intelligent Systems and Computing, 1004, 93–103. https://doi.org/10.1007/978-3-030-23946-6_11
DOI: https://doi.org/10.1007/978-3-030-23946-6_11
Google Scholar
Giebas, D., & Wojszczyk, R. (2020b). Atomicity Violation in Multithreaded Applications and Its Detection in Static Code Analysis Process. Applied Sciences, 10(22), 8005. https://doi.org/10.3390/app10228005
DOI: https://doi.org/10.3390/app10228005
Google Scholar
Giebas, D., & Wojszczyk, R. (2020c). Deadlocks Detection in Multithreaded Applications Based on Source Code Analysis. Applied Sciences, 10(2), 532. https://doi.org/10.3390/app10020532
DOI: https://doi.org/10.3390/app10020532
Google Scholar
Jin, G., Song, L., Zhang, W., Lu, S., & Liblit, B. (2011). Automated atomicity-violation fixing. In Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '11) (pp. 389–400). https://doi.org/10.1145/1993498.1993544
DOI: https://doi.org/10.1145/1993498.1993544
Google Scholar
Lu, S., Park, S., Seo, E., & Zhou, Y. (2008). Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. In Proceedings of the 13th international conference on Architectural support for programming languages and operating systems (ASPLOS XIII) (pp. 329–339). https://doi.org/10.1145/1346281.1346323
DOI: https://doi.org/10.1145/1346281.1346323
Google Scholar
Netzer, R., & Miller, B. P. (1992). What are race conditions? Some issues and formalizations. ACM Letters on Programming Languages and Systems (LOPLAS), 1(1), 74–88. https://doi.org/10.1145/130616.130623
DOI: https://doi.org/10.1145/130616.130623
Google Scholar
Park, S., Vuduc, R. W., & Harrold, M. J. (2010). Falcon: fault localization in concurrent programs. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1 (pp. 245–254). https://doi.org/10.1145/1806799.1806838
DOI: https://doi.org/10.1145/1806799.1806838
Google Scholar
Park, S., Zhou, Y., Xiong, W., Yin, Z., Kaushik, R., Lee, K. H., & Lu, S. (2009). PRES: probabilistic replay with execution sketching on multiprocessors. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles (SOSP '09) (pp. 177–192). https://doi.org/10.1145/1629575.1629593
DOI: https://doi.org/10.1145/1629575.1629593
Google Scholar
Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., & Anderson, T. (1997). Eraser: a dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst., 15(4), 391–411. https://doi.org/10.1145/265924.265927
DOI: https://doi.org/10.1145/265924.265927
Google Scholar
Torres, L. C., Marr, S., Gonzalez, B. E., & Mössenböck, H. (2018). A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs. Lecture Notes in Computer Science, 10789, 155-185. https://doi.org/10.1007/978-3-030-00302-9
DOI: https://doi.org/10.1007/978-3-030-00302-9_6
Google Scholar
Vinesh, N., Sethumadhavan, M. (2020). ConFuzz—A Concurrency Fuzzer. Advances in Intelligent Systems and Computing, 1045, 667-691. https://doi.org/10.1007/978-981-15-0029-9_53
DOI: https://doi.org/10.1007/978-981-15-0029-9_53
Google Scholar
Yu, Z., Zuo, Y., & Xiong, W. C. (2019). Concurrency Bug Avoiding Based on Optimized Software Transactional Memory. Scientific Programming, 2019, 9404323. https://doi.org/10.1155/2019/9404323.
DOI: https://doi.org/10.1155/2019/9404323
Google Scholar
Authors
Damian GIEBASrafal.wojszczyk@tu.koszalin.pl
Faculty of Electronics and Computer Science, Koszalin University of Technology, Śniadeckich 2,75-453 Koszalin Poland
Authors
Rafał WOJSZCZYK* Faculty of Electronics and Computer Science, Koszalin University of Technology, Śniadeckich 2,75-453 Koszalin Poland
Statistics
Abstract views: 194PDF downloads: 18
License
This work is licensed under a Creative Commons Attribution 4.0 International License.
All articles published in Applied Computer Science are open-access and distributed under the terms of the Creative Commons Attribution 4.0 International License.
Most read articles by the same author(s)
- Rafał WOJSZCZYK, VERIFICATION OF ACCURACY AND COST OF USE METHODS OF QUALITY ASSESSMENT OF IMPLEMENTATION OF DESIGN PATTERNS , Applied Computer Science: Vol. 15 No. 1 (2019)
- Damian GIEBAS, Rafał WOJSZCZYK, GRAPHICAL REPRESENTATIONS OF MULTITHREADED APPLICATIONS , Applied Computer Science: Vol. 14 No. 2 (2018)
Similar Articles
- Eduardo Sánchez-García, Javier Martínez-Falcó, Bartolomé Marco-Lajara, Jolanta Słoniec, ANALYZING THE ROLE OF COMPUTER SCIENCE IN SHAPING MODERN ECONOMIC AND MANAGEMENT PRACTICES. BIBLIOMETRIC ANALYSIS , Applied Computer Science: Vol. 20 No. 1 (2024)
- Ihor PYSMENNYI, Anatolii PETRENKO, Roman KYSLYI, GRAPH-BASED FOG COMPUTING NETWORK MODEL , Applied Computer Science: Vol. 16 No. 4 (2020)
- Damian KOLNY, Dawid KURCZYK, Józef MATUSZEK, COMPUTER SUPPORT OF ERGONOMIC ANALYSIS OF WORKING CONDITIONS AT WORKSTATIONS , Applied Computer Science: Vol. 15 No. 1 (2019)
- Ekhlas H. KARAM, Eman H. JADOO, DESIGN OF MODIFIED SECOND ORDER SLIDING MODE CONTROLLER BASED ON ST ALGORITHM FOR BLOOD GLUCOSE REGULATION SYSTEMS , Applied Computer Science: Vol. 16 No. 2 (2020)
- Ahmed A.H. HAQQANI, Seenu N, Mukund JANARDHANAN, Kuppan Chetty RM, EVALUATION OF ROBOTIC CLEANING TECHNOLOGIES: PRESERVING A BRITISH ICONIC BUILDING , Applied Computer Science: Vol. 16 No. 2 (2020)
- Marcin Badurowicz, Sebastian Łagowski, USAGE OF IOT EDGE APPROACH FOR ROAD QUALITY ANALYSIS , Applied Computer Science: Vol. 19 No. 1 (2023)
- Andrij MILENIN, PARALLEL SOLUTION OF THERMOMECHANICAL INVERSE PROBLEMS FOR LASER DIELESS DRAWING OF ULTRA-THIN WIRE , Applied Computer Science: Vol. 18 No. 3 (2022)
- Kuba ROSŁANIEC, ANALYSIS OF THE EFFECT OF PROJECTILE IMPACT ANGLE ON THE PUNCTURE OF A STEEL PLATE USING THE FINITE ELEMENT METHOD IN ABAQUS SOFTWARE , Applied Computer Science: Vol. 18 No. 1 (2022)
- Rumesh Edirimanne, W Madushan Fernando, Peter Nielsen, H. Niles Perera, Amila Thibbotuwawa, OPTIMIZING UNMANNED AERIAL VEHICLE BASED FOOD DELIVERY THROUGH VEHICLE ROUTING PROBLEM: A COMPARATIVE ANALYSIS OF THREE DELIVERY SYSTEMS. , Applied Computer Science: Vol. 20 No. 1 (2024)
- Workineh TESEMA, INEFFICIENCY OF DATA MINING ALGORITHMS AND ITS ARCHITECTURE: WITH EMPHASIS TO THE SHORTCOMING OF DATA MINING ALGORITHMS ON THE OUTPUT OF THE RESEARCHES , Applied Computer Science: Vol. 15 No. 3 (2019)
<< < 1 2 3 4 5 6 7 8 9 10 > >>
You may also start an advanced similarity search for this article.