參考文獻 |
[1] S. Lu, S. Park, E. Seo, and Y. Zhou, "Learning from mistakes: a comprehensive study on real world concurrency bug characteristics," ACM SIGOPS Operating Systems Review, vol. 42, pp. 329-339, 2008.
[2] A. Zeller, Why programs fail: a guide to systematic debugging: Elsevier, 2009.
[3] (2009-02-15, 2018-06). Should we always reproduce the bugs to verify the fixes? Available: https://stackoverflow.com/questions/550242/should-we-always-reproduce-the-bugs-to-verify-the-fixes
[4] M. Musuvathi, S. Qadeer, T. Ball, G. Basler, P. A. Nainar, and I. Neamtiu, "Finding and Reproducing Heisenbugs in Concurrent Programs," in OSDI, 2008, pp. 267-280.
[5] J. Micco. (May 27, 2016, 2018-06). Flaky Tests at Google and How We Mitigate Them. Available: https://testing.googleblog.com/2016/05/flaky-tests-at-google-and-how-we.html
[6] (2018-06). GDB Online Document. Available: https://sourceware.org/gdb/current/onlinedocs/gdb/index.html#SEC_Contents
[7] (2018-06). Stopping and Starting Multi-thread Programs. Available: https://sourceware.org/gdb/current/onlinedocs/gdb/Thread-Stops.html#Thread-Stops
[8] X. Yuan, C. Wu, Z. Wang, J. Li, P.-C. Yew, J. Huang, et al., "ReCBuLC: reproducing concurrency bugs using local clocks," in Proceedings of the 37th International Conference on Software Engineering-Volume 1, 2015, pp. 824-834.
[9] N. Rungta, E. G. Mercer, and W. Visser, "Efficient testing of concurrent programs with abstraction-guided symbolic execution," in International SPIN Workshop on Model Checking of Software, 2009, pp. 174-191.
[10] L. M. Carril and W. F. Tichy, "Interleaving generation for data race and deadlock reproduction," in Proceedings of the 2nd International Workshop on Software Engineering for Parallel Systems, 2015, pp. 26-34.
[11] P. Anderson, "The use and limitations of static-analysis tools to improve software quality," CrossTalk: The Journal of Defense Software Engineering, vol. 21, pp. 18-21, 2008.
[12] D. Hutchins, A. Ballman, and D. Sutherland, "C/C++ thread safety analysis," in Source Code Analysis and Manipulation (SCAM), 2014 IEEE 14th International Working Conference on, 2014, pp. 41-46.
[13] C. Flanagan and P. Godefroid, "Dynamic partial-order reduction for model checking software," in ACM Sigplan Notices, 2005, pp. 110-121.
[14] P. Fonseca, C. Li, and R. Rodrigues, "Finding complex concurrency bugs in large multi-threaded applications," in Proceedings of the sixth conference on Computer systems, 2011, pp. 215-228.
[15] B. Kasikci, W. Cui, X. Ge, and B. Niu, "Lazy Diagnosis of In-Production Concurrency Bugs," in Proceedings of the 26th Symposium on Operating Systems Principles, 2017, pp. 582-598.
[16] M. Musuvathi and S. Qadeer, "Iterative context bounding for systematic testing of multithreaded programs," in ACM Sigplan Notices, 2007, pp. 446-455.
[17] C. Wang, M. Said, and A. Gupta, "Coverage guided systematic concurrency testing," in Proceedings of the 33rd International Conference on Software Engineering, 2011, pp. 221-230.
[18] P. Godefroid, "Model checking for programming languages using VeriSoft," in Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, 1997, pp. 174-186.
[19] J. Neystadt. (February 2008, 2018-06). Automated Penetration Testing with White-Box Fuzzing. Available: https://msdn.microsoft.com/en-us/library/cc162782.aspx
[20] S. Burckhardt, P. Kothari, M. Musuvathi, and S. Nagarakatte, "A randomized scheduler with probabilistic guarantees of finding bugs," in ACM Sigplan Notices, 2010, pp. 167-178.
[21] 楊權 and C. Yang, "A Testing and Debugging Tool for Arbitrary Interleaving on Multithreaded Programs Based on Debugger," 國立中央大學.
[22] (2018-06). Undo. Available: https://undo.io/
[23] N. Chatterjee, S. Majumdar, S. R. Sahoo, and P. P. Das, "Debugging multi-threaded applications using pin-augmented gdb (pgdb)," in Proceedings of the International Conference on Software Engineering Research and Practice (SERP), 2015, p. 109.
[24] Y. Eytani, K. Havelund, S. D. Stoller, and S. Ur, "Towards a framework and a benchmark for testing tools for multi‐threaded programs," Concurrency and Computation: Practice and Experience, vol. 19, pp. 267-279, 2007. |