Nikiforov
Vladimir O.
D.Sc., Prof.
doi: 10.17586/2226-1494-2019-19-2-380-385
PROGRAM CODE OPTIMIZATION OF RELACY RACE DETECTOR LIBRARY
Read the full article ';
For citation:
Doronin O.V., Dergun K.I., Dergachev A.M., Kluchev A.O. Program code optimization of Relacy Race Detector library. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2019, vol. 19, no. 2, pp. 380–385 (in Russian). doi: 10.17586/2226-1494-2019-19-2-380-385
Abstract
The paper presents the results of Relacy Race Detector (RRD) library research as applied to the problem of multithreaded code testing. The study revealed several shortcomings of the RRD library. They are: a static number of threads, complex project structure, errors in implementation and lack of support for snapshots. The work has corrected the shortcomings described above and presented a new approach for the atomic snapshot of multiple threads using fork and fiber mechanisms. With the application of these results and implemented changes it is now easier to use the RRD library for multithreaded applications testing.
Acknowledgements. The authors express personal thanks to D. Vyukov (developer of the Relacy Race Detector library), M. Khizhinsky (developer of the libcds library) and E. Kalishenko for discussion, critique and suggestions in the process of research.
References
-
Batty M., Owens S., Sarkar S., Sewell P., Weber T., Tjark W. Mathematizing C++ concurrency. ACM SIGPLAN Notices, 2011, vol. 46, no. 1, pp. 55–66. doi: 10.1145/1925844.1926394
-
Lidbury C., Donaldson A.F. Dynamic race detection for C++11. ACM SIGPLAN Notices, 2016, vol. 52, no. 1, pp. 443–457. doi: 10.1145/3093333.3009857
-
Jula H., Tralamazza D., Zamfir C., Candea G. Deadlock immunity: enabling systems to defend against deadlocks. Proc. of Operating System Design and Implementation, OSDI, 2008, pp. 295–308.
-
Drepper U. ELF Handling for Thread-Local Storage. Red Hat Inc, 2005, 79 p.
-
Nagarakatte S., Burckhardt S., Martin M., Musuvathi M. Multicore acceleration of priority-based schedulers for concurrency bug detection. ACM SIGPLAN Notices, 2012, vol. 47, no. 6, pp. 543–554. doi: 10.1145/2345156.2254128
-
Atig M.F., Bouajjani A., Qadeer S. Context-bounded analysis for concurrent programs with dynamic creation of threads. Lecture Notes in Computer Science, 2009, vol. 5505, pp. 107–123. doi: 10.1007/978-3-642-00768-2_11
-
Emmi M., Qadeer S., Rakamaric Z. Delay-bounded scheduling. ACM SIGPLAN Notices, 2011, vol. 46, no. 1, pp. 411–422. doi: 10.1145/1925844.1926432
-
Burckhardt S.,Kothari P., Musuvathi M., Nagarakatte S. A randomized scheduler with probabilistic guarantees of finding bugs. ACM SIGARCH Computer Architecture News, 2010, vol. 38, pp. 167–178. doi: 10.1145/1735970.1736040
-
Sen K. Effective random testing of concurrent programs. Proc. 22nd IEEE/ACM Int. Conf. on Automated Software Engineering, ASE, 2007, pp. 323–332. doi: 10.1145/1321631.1321679
-
Coetzee L. Combining Reverse Debugging and Live Programming towards Visual Thinking in Computer Programming. Stellenbosch University, 2015, 94 p.
-
Serebryany K., Iskhodzhanov T. ThreadSanitizer: data race detection in practice. Proc. Workshop on Binary Instrumentation and Applications, WBIA, 2009, pp. 62–71. doi: 10.1145/1791194.1791203