Page 125 - 《软件学报》2021年第6期
P. 125
鲁法明 等:基于锁增广分段图的多线程程序死锁检测 1699
[7] Flanagan C, Leino KRM, Lillibridge M, Nelson G, Saxe JB, Stata R. Extended static checking for Java. ACM SIGPLAN Notices,
2002,37(5):234−245. https://doi.org/10.1145/543552.512558
[8] Engler D, Ashcraft K. RacerX: Effective, static detection of race conditions and deadlocks. ACM SIGOPS Operating Systems
Review, 2003,37(5):237−252. https://doi.org/10.1145/1165389.945468
[9] Williams A, Thies W, Ernst MD. Static deadlock detection for Java libraries. In: Proc. of the 19th European Conf. on Object-
Oriented Programming. Berlin, Heidelberg: Springer-Verlag, 2005. 602−629. https://doi.org/10.1007/11531142_26
[10] Naik M, Park CS, Sen K, Gay D. Effective static deadlock detection. In: Proc. of the 31st Int’l Conf. on Software Engineering.
IEEE, 2009. 386−396. https://doi.org/10.1109/ICSE.2009.5070538
[11] Harrow J. Runtime checking of multithreaded applications with visual threads. In: Proc. of the 7th Int’l SPIN Workshop on SPIN
Model Checking and Software Verification. Berlin, Heidelberg: Springer-Verlag, 2000. 331−342. [doi: 10.1007/10722468_20]
[12] Havelund K. Using runtime analysis to guide model checking of Java programs. In: Proc. of the 7th Int’l SPIN Workshop on SPIN
Model Checking and Software Verification. Berlin, Heidelberg: Springer-Verlag, 2001. 245−264. [doi: 10.1007/10722468_15]
[13] Agarwal R, Wang LQ, Stoller SD. Detecting potential deadlocks with static analysis and run-time monitoring. In: Proc. of the 1st
Haifa Int’l Conf. on Hardware and Software Verification and Testing. Berlin, Heidelberg: Springer-Verlag, 2005. 191−207.[doi:
10.1007/11678779_14]
[14] Joshi P, Park CS, Sen K, Naik M. A randomized dynamic program analysis technique for detecting real deadlocks. ACM SIGPLAN
Notices, 2009,44(6):110−120. [doi: 10.1145/1543135.1542489]
[15] Cai Y, Chan WK. Magiclock: Scalable detection of potential deadlocks in large-scale multithreaded programs. IEEE Trans. on
Software Engineering, 2014,44(3):266−281. https://doi.org/10.1145/512529.512558
[16] Bensalem S, Havelund K. Scalable dynamic deadlock analysis of multi-threaded programs. In: Proc. of the Parallel and Distributed
Systems: Testing and Debugging (PADTAD-3), IBM Verification Conf. Springer, Berlin, Heidelberg. 2005. [doi: 10.1007/
11678779_15]
[17] Agarwal R, Bensalem S, Farchi E, Havelund K, Nir-Buchbinder Y, Stoller SD, Ur S, Wang LQ. Detection of deadlock potentials in
multithreaded programs. IBM Journal of Research and Development, 2010,54(5):3:1−3:15. [doi: 10.1147/JRD.2010.2060276]
[18] Samak M, Ramanathan MK. Trace driven dynamic deadlock detection and reproduction. ACM SIGPLAN Notices, 2014, 49(8):
29−42. https://doi.org/10.1145/2555243.2555262
[19] Cai Y, Zhai K, Wu SR, Chan WK. Teamwork: Synchronizing threads globally to detect real deadlocks for multithreaded programs.
ACM SIGPLAN Notices, 2013,48(8):311−312. https://doi.org/10.1145/2442516.2442560
[20] Burckhardt S, Kothari P, Musuvathi M, Nagarakatte S. A randomized scheduler with probabilistic guarantees of finding bugs. ACM
SIGARCH Computer Architecture News, 2010,38(1):167−178. [doi: 10.1145/1735970.1736040]
[21] Cai Y, Lu Q. Dynamic testing for deadlocks via constraints. IEEE Trans. on Software Engineering, 2016,42(9):825−842. [doi:
10.1109/TSE.2016.2537335]
[22] Cadar C, Dunbar D, Engler D. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs.
In: Proc. of the 8th USENIX Conf. on Operating Systems Design and Implementation. USENIX Association, 2008. 209−224.
[23] Cai Y, Chan WK. MagicFuzzer: Scalable deadlock detection for large-scale applications. In: Proc. of the 34th Int’l Conf. on
Software Engineering. IEEE, 2012. 606−616. [doi: 10.1109 / ICSE.2012.6227156]
[24] Cai Y, Jia CJ, Wu SR, Zhai K, Chan WK. ASN: A dynamic barrier-based approach to confirmation of deadlocks from warnings for
large-scale multithreaded programs. IEEE Trans. on Parallel and Distributed Systems, 2015,26(1):13−23. [doi: 10.1109/TPDS.2014.
2307864]
[25] Cai Y, Wu SR, Chan WK. ConLock: A constraint-based approach to dynamic checking on deadlocks in multithreaded programs. In:
Proc. of the 36th Int’l Conf. on Software Engineering. ACM, 2014. 491−502. https://doi.org/10.1145/2568225.2568312
[26] Joshi P, Naik M, Park CS, Sen K. CalFuzzer : An extensible active testing framework for concurrent programs. In: Proc. of the 21st
Int’l Conf. on Computer Aided Verification. Berlin Heidelberg: Springer-Verlag, 2009. 675−681. https://doi.org/10.1007/978-3-
642-02658-4_54
[27] Gao J, Yang X, Jiang Y, Liu H, Ying WL, Sun WT, Gu M. Managing concurrent testing of data race with ComRaDe. In: Proc. of
the 27th ACM SIGSOFT Int’l Symp. on Software Testing and Analysis. ACM, 2018. 364−367. https://doi.org/10.1145/3213846.
3229502