ORDER VIOLATION IN MULTITHREADED APPLICATIONS AND ITS DETECTION IN STATIC CODE ANALYSIS PROCESS
Article Sidebar
Open full text
Issue Vol. 16 No. 4 (2020)
-
GRAPH-BASED FOG COMPUTING NETWORK MODEL
Ihor PYSMENNYI, Anatolii PETRENKO, Roman KYSLYI5-20
-
JOINT EFFECT OF FORECASTING AND LOT-SIZING METHOD ON COST MINIMIZATION OBJECTIVE OF A MANUFACTURER: A CASE STUDY
Jack OLESEN, Carl-Emil Houmøller PEDERSEN, Markus Germann KNUDSEN, Sandra TOFT, Vladimir NEDBAILO, Johan PRISAK, Izabela Ewa NIELSEN, Subrata SAHA21-36
-
ELECTROCARDIOGRAM GENERATION SOFTWARE FOR TESTING OF PARAMETER EXTRACTION ALGORITHMS
Marcin MACIEJEWSKI, Barbara MACIEJEWSKA, Robert KARPIŃSKI, Przemysław KRAKOWSKI37-47
-
ARCHITECTURAL PARADIGM OF THE INTERACTIVE INTERFACE MODULE IN THE CLOUD TECHNOLOGY MODEL
Denis RATOV48-55
-
CLASSIFICATION OF EEG SIGNAL BY METHODS OF MACHINE LEARNING
Amina ALYAMANI, Oleh YASNIY56-63
-
DEVELOPMENT OF AN ONTOLOGY-BASED ADAPTIVE PERSONALIZED E-LEARNING SYSTEM
Olutayo BOYINBODE, Paul OLOTU, Kolawole AKINTOLA64-84
-
COMPUTER VISION BASED ON RASPBERRY PI SYSTEM
Mohanad ABDULHAMID, Otieno ODONDI, Muaayed AL-RAWI85-102
-
ORDER VIOLATION IN MULTITHREADED APPLICATIONS AND ITS DETECTION IN STATIC CODE ANALYSIS PROCESS
Damian GIEBAS, Rafał WOJSZCZYK103-117
Archives
-
Vol. 18 No. 4
2022-12-30 8
-
Vol. 18 No. 3
2022-09-30 8
-
Vol. 18 No. 2
2022-06-30 8
-
Vol. 18 No. 1
2022-03-30 7
-
Vol. 17 No. 4
2021-12-30 8
-
Vol. 17 No. 3
2021-09-30 8
-
Vol. 17 No. 2
2021-06-30 8
-
Vol. 17 No. 1
2021-03-30 8
-
Vol. 16 No. 4
2020-12-30 8
-
Vol. 16 No. 3
2020-09-30 8
-
Vol. 16 No. 2
2020-06-30 8
-
Vol. 16 No. 1
2020-03-30 8
-
Vol. 15 No. 4
2019-12-30 8
-
Vol. 15 No. 3
2019-09-30 8
-
Vol. 15 No. 2
2019-06-30 8
-
Vol. 15 No. 1
2019-03-30 8
-
Vol. 14 No. 4
2018-12-30 8
-
Vol. 14 No. 3
2018-09-30 8
-
Vol. 14 No. 2
2018-06-30 8
-
Vol. 14 No. 1
2018-03-30 7
Main Article Content
DOI
Authors
rafal.wojszczyk@tu.koszalin.pl
rafal.wojszczyk@tu.koszalin.pl
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:
References
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
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
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
Bishop, M., & Dilger, M. (1996). Checking for Race Conditions in File Accesses. Computing Systems, 9(2), 131–152.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Article Details
Abstract views: 354
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.
