{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,1,6]],"date-time":"2023-01-06T22:27:29Z","timestamp":1673044049038},"reference-count":68,"publisher":"Springer Science and Business Media LLC","issue":"5","license":[{"start":{"date-parts":[[2015,4,10]],"date-time":"2015-04-10T00:00:00Z","timestamp":1428624000000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Sci. China Inf. Sci."],"published-print":{"date-parts":[[2015,5]]},"DOI":"10.1007\/s11432-015-5315-9","type":"journal-article","created":{"date-parts":[[2015,4,10]],"date-time":"2015-04-10T23:15:04Z","timestamp":1428707704000},"page":"1-18","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Fixing, preventing, and recovering from concurrency bugs"],"prefix":"10.1007","volume":"58","author":[{"given":"DongDong","family":"Deng","sequence":"first","affiliation":[]},{"given":"GuoLiang","family":"Jin","sequence":"additional","affiliation":[]},{"given":"Marc","family":"de Kruijf","sequence":"additional","affiliation":[]},{"given":"Ang","family":"Li","sequence":"additional","affiliation":[]},{"given":"Ben","family":"Liblit","sequence":"additional","affiliation":[]},{"given":"Shan","family":"Lu","sequence":"additional","affiliation":[]},{"given":"ShanXiang","family":"Qi","sequence":"additional","affiliation":[]},{"given":"JingLei","family":"Ren","sequence":"additional","affiliation":[]},{"given":"Karthikeyan","family":"Sankaralingam","sequence":"additional","affiliation":[]},{"given":"LinHai","family":"Song","sequence":"additional","affiliation":[]},{"given":"YongWei","family":"Wu","sequence":"additional","affiliation":[]},{"given":"MingXing","family":"Zhang","sequence":"additional","affiliation":[]},{"given":"Wei","family":"Zhang","sequence":"additional","affiliation":[]},{"given":"WeiMin","family":"Zheng","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2015,4,10]]},"reference":[{"key":"5315_CR1","doi-asserted-by":"crossref","first-page":"389","DOI":"10.1145\/1993498.1993544","volume-title":"Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, San Jose","author":"G L Jin","year":"2011","unstructured":"Jin G L, Song L H, Zhang W, et al. Automated atomicity-violation fixing. In: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, San Jose, 2011. 389\u2013400"},{"key":"5315_CR2","first-page":"221","volume-title":"Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, Hollywood","author":"G L Jin","year":"2012","unstructured":"Jin G L, Zhang W, Deng D D, et al. Automated concurrency-bug fixing. In: Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, Hollywood, 2012. 221\u2013236"},{"key":"5315_CR3","doi-asserted-by":"crossref","first-page":"330","DOI":"10.1145\/2635868.2635885","volume-title":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, Hong Kong","author":"M X Zhang","year":"2014","unstructured":"Zhang M X, Wu Y W, Lu S, et al. AI: a lightweight system for tolerating concurrency bugs. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, Hong Kong, 2014. 330\u2013340"},{"key":"5315_CR4","first-page":"113","volume-title":"Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems, Houston","author":"W Zhang","year":"2013","unstructured":"Zhang W, de Kruijf M, Li A, et al. Conair: featherweight concurrency bug recovery via single-threaded idempotent execution. In: Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems, Houston, 2013. 113\u2013126"},{"key":"5315_CR5","doi-asserted-by":"crossref","first-page":"18","DOI":"10.1109\/MC.1993.274940","volume":"26","author":"N G Leveson","year":"1993","unstructured":"Leveson N G, Turner C S. An investigation of the therac-25 accidents. Computer, 1993, 26: 18\u201341","journal-title":"Computer"},{"key":"5315_CR6","first-page":"329","volume-title":"Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems, Seattle","author":"S Lu","year":"2008","unstructured":"Lu S, Park S, Seo E, et al. Learning from mistakes\u2014a comprehensive study of real world concurrency bug characteristics. In: Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems, Seattle, 2008. 329\u2013339"},{"key":"5315_CR7","volume-title":"Microsoft Research Technical Report MSR-TR-2008-75","author":"P Godefroid","year":"2008","unstructured":"Godefroid P, Nagappani N. Concurrency at Microsoft\u2014an Exploratory Survey. Microsoft Research Technical Report MSR-TR-2008-75, 2008"},{"key":"5315_CR8","doi-asserted-by":"crossref","first-page":"26","DOI":"10.1145\/2025113.2025121","volume-title":"Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering","author":"Z N Yin","year":"2011","unstructured":"Yin Z N, Yuan D, Zhou Y Y, et al. How do fixes become bugs? In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, 2011. 26\u201336"},{"key":"5315_CR9","doi-asserted-by":"crossref","first-page":"121","DOI":"10.1145\/1542476.1542490","volume-title":"Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation, Dublin","author":"C Flanagan","year":"2009","unstructured":"Flanagan C, Freund S N. Fasttrack: efficient and precise dynamic race detection. In: Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation, Dublin, 2009. 121\u2013133"},{"key":"5315_CR10","first-page":"185","volume-title":"Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems, London","author":"B Kasikci","year":"2012","unstructured":"Kasikci B, Zamfir C, Candea G. Data races vs. data race bugs: telling the difference with portend. In: Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems, London, 2012. 185\u2013198"},{"key":"5315_CR11","first-page":"133","volume-title":"Proceedings of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Williamsburg","author":"R H B Netzer","year":"1991","unstructured":"Netzer R H B, Miller B P. Improving the accuracy of data race detection. In: Proceedings of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Williamsburg, 1991. 133\u2013144"},{"key":"5315_CR12","doi-asserted-by":"crossref","first-page":"27","DOI":"10.1145\/268998.266641","volume-title":"Proceedings of the 16th ACM Symposium on Operating Systems Principles, Saint Malo","author":"S Savage","year":"1997","unstructured":"Savage S, Burrows M, Nelson G, et al. Eraser: a dynamic data race detector for multithreaded programs. In: Proceedings of the 16th ACM Symposium on Operating Systems Principles, Saint Malo, 1997. 27\u201337"},{"key":"5315_CR13","doi-asserted-by":"crossref","first-page":"221","DOI":"10.1145\/1095810.1095832","volume-title":"Proceedings of the 20th ACM Symposium on Operating Systems Principles, Brighton","author":"Y Yu","year":"2005","unstructured":"Yu Y, Rodeheffer T, Chen W. RaceTrack: efficient detection of data race conditions via adaptive tracking. In: Proceedings of the 20th ACM Symposium on Operating Systems Principles, Brighton, 2005. 221\u2013234"},{"key":"5315_CR14","first-page":"221","volume-title":"Proceedings of the 30th International Conference on Software Engineering, Leipzig","author":"F Chen","year":"2008","unstructured":"Chen F, Serbanuta T F, Rosu G. jpredictor: a predictive runtime analysis tool for java. In: Proceedings of the 30th International Conference on Software Engineering, Leipzig, 2008. 221\u2013230"},{"key":"5315_CR15","doi-asserted-by":"crossref","first-page":"256","DOI":"10.1145\/964001.964023","volume-title":"Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Venice","author":"C Flanagan","year":"2004","unstructured":"Flanagan C, Freund S N. Atomizer: a dynamic atomicity checker for multithreaded programs. In: Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Venice, 2004. 256\u2013267"},{"key":"5315_CR16","doi-asserted-by":"crossref","first-page":"338","DOI":"10.1145\/781131.781169","volume-title":"Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation, San Diego","author":"C Flanagan","year":"2003","unstructured":"Flanagan C, Qadeer S. A type and effect system for atomicity. In: Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation, San Diego, 2003. 338\u2013349"},{"key":"5315_CR17","doi-asserted-by":"crossref","first-page":"293","DOI":"10.1145\/1375581.1375618","volume-title":"Proceedings of the 2008 ACM SIGPLAN Conference on Programming Language Design and Implementation, Tucson","author":"C Flanagan","year":"2008","unstructured":"Flanagan C, Freund S N, Yi J. Velodrome: a sound and complete dynamic atomicity checker for multithreaded programs. In: Proceedings of the 2008 ACM SIGPLAN Conference on Programming Language Design and Implementation, Tucson, 2008. 293\u2013303"},{"key":"5315_CR18","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1145\/1168857.1168864","volume-title":"Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, San Jose","author":"S Lu","year":"2006","unstructured":"Lu S, Tucek J, Qin F, et al. AVIO: detecting atomicity violations via access interleaving invariants. In: Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, San Jose, 2006. 37\u201348"},{"key":"5315_CR19","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/1065010.1065013","volume-title":"Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, Chicago","author":"M Xu","year":"2005","unstructured":"Xu M, Bod\u00edk R, Hill M D. A serializability violation detector for shared-memory server programs. In: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, Chicago, 2005. 1\u201314"},{"key":"5315_CR20","first-page":"239","volume-title":"Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, Newport Beach","author":"Q Gao","year":"2011","unstructured":"Gao Q, Zhang WB, Chen Z Z, et al. 2ndStrike: toward manifesting hidden concurrency typestate bugs. In: Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, Newport Beach, 2011. 239\u2013250"},{"key":"5315_CR21","doi-asserted-by":"crossref","first-page":"160","DOI":"10.1145\/1869459.1869474","volume-title":"Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, Reno\/Tahoe","author":"Y Shi","year":"2010","unstructured":"Shi Y, Park S, Yin Z N, et al. Do I use the wrong definition?: DefUse: definition-use invariants for detecting concurrency and sequential bugs. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, Reno\/Tahoe, 2010. 160\u2013174"},{"key":"5315_CR22","doi-asserted-by":"crossref","first-page":"179","DOI":"10.1145\/1736020.1736041","volume-title":"Proceedings of the 15th Edition of ASPLOS on Architectural Support for Programming Languages and Operating Systems, Pittsburgh","author":"W Zhang","year":"2010","unstructured":"Zhang W, Sun C, Lu S. ConMem: detecting severe concurrency bugs through an effect-oriented approach. In: Proceedings of the 15th Edition of ASPLOS on Architectural Support for Programming Languages and Operating Systems, Pittsburgh, 2010. 179\u2013192"},{"key":"5315_CR23","first-page":"251","volume-title":"Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, Newport Beach","author":"W Zhang","year":"2011","unstructured":"Zhang W, Lim J, Olichandran R, et al. ConSeq: detecting concurrency bugs through sequential errors. In: Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, Newport Beach, 2011. 251\u2013264"},{"key":"5315_CR24","first-page":"295","volume-title":"Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, San Diego","author":"H Jula","year":"2008","unstructured":"Jula H, Tralamazza D, Zamfir C, et al. Deadlock immunity: enabling systems to defend against deadlocks. In: Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, San Diego, 2008. 295\u2013308"},{"key":"5315_CR25","first-page":"3","volume-title":"Proceedings of the Annual Conference on USENIX Annual Technical Conference, Anaheim","author":"T Li","year":"2005","unstructured":"Li T, Ellis C, Lebeck A, et al. Pulse: a dynamic deadlock detection mechanism using speculative execution. In: Proceedings of the Annual Conference on USENIX Annual Technical Conference, Anaheim, 2005. 3"},{"key":"5315_CR26","first-page":"281","volume-title":"Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, Berkeley","author":"Y Wang","year":"2008","unstructured":"Wang Y, Kelly T, Kudlur M, et al. Gadara: dynamic deadlock avoidance for multithreaded programs. In: Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, Berkeley, 2008. 281\u2013294"},{"key":"5315_CR27","doi-asserted-by":"crossref","first-page":"553","DOI":"10.1145\/1669112.1669181","volume-title":"Proceedings of the 42nd Annual IEEE\/ACM International Symposium on Microarchitecture, New York","author":"B Lucia","year":"2009","unstructured":"Lucia B, Ceze L. Finding concurrency bugs with context-aware communication graphs. In: Proceedings of the 42nd Annual IEEE\/ACM International Symposium on Microarchitecture, New York, 2009. 553\u2013563"},{"key":"5315_CR28","first-page":"267","volume-title":"Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, San Diego","author":"M Musuvathi","year":"2008","unstructured":"Musuvathi M, Qadeer S, Ball T, et al. Finding and reproducing heisenbugs in concurrent programs. In: Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, San Diego, 2008. 267\u2013280"},{"key":"5315_CR29","first-page":"120","volume-title":"Proceedings of 20th IEEE International Symposium on High Performance Computer Architecture, Orlando","author":"S X Qi","year":"2014","unstructured":"Qi S X, Muzahid A, Ahn W, et al. Dynamically detecting and tolerating if-condition data races. In: Proceedings of 20th IEEE International Symposium on High Performance Computer Architecture, Orlando, 2014. 120\u2013131"},{"key":"5315_CR30","doi-asserted-by":"crossref","first-page":"485","DOI":"10.1145\/2384616.2384651","volume-title":"Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, Tucson","author":"J Yu","year":"2012","unstructured":"Yu J, Narayanasamy S, Pereira C, et al. Maple: a coverage-driven testing tool for multithreaded programs. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, Tucson, 2012. 485\u2013502"},{"key":"5315_CR31","first-page":"388","volume-title":"Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications, Anaheim","author":"T Harris","year":"2003","unstructured":"Harris T, Fraser K. Language support for lightweight transactions. In: Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications, Anaheim, 2003. 388\u2013402"},{"key":"5315_CR32","doi-asserted-by":"crossref","first-page":"289","DOI":"10.1109\/ISCA.1993.698569","volume-title":"Proceedings of the 20th Annual International Symposium on Computer Architecture, San Diego","author":"M Herlihy","year":"1993","unstructured":"Herlihy M, Moss J E B. Transactional memory: architectural support for lock-free data structures. In: Proceedings of the 20th Annual International Symposium on Computer Architecture, San Diego, 1993. 289\u2013300"},{"key":"5315_CR33","doi-asserted-by":"crossref","first-page":"294","DOI":"10.1109\/MICRO.2001.991127","volume-title":"Proceedings of the 34th Annual ACM\/IEEE International Symposium on Microarchitecture, Austin","author":"R Rajwar","year":"2001","unstructured":"Rajwar R, Goodman J R. Speculative lock elision: enabling highly concurrent multithreaded execution. In: Proceedings of the 34th Annual ACM\/IEEE International Symposium on Microarchitecture, Austin, 2001. 294\u2013305"},{"key":"5315_CR34","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1145\/1508244.1508249","volume-title":"Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, Washington","author":"S Park","year":"2009","unstructured":"Park S, Lu S, Zhou Y Y. Ctrigger: exposing atomicity violation bugs from their finding places. In: Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, Washington, 2009. 25\u201336"},{"key":"5315_CR35","doi-asserted-by":"crossref","first-page":"24","DOI":"10.1109\/ISCA.1995.524546","volume-title":"Proceedings of the 22nd Annual International Symposium on Computer Architecture, Margherita Ligure","author":"S C Woo","year":"1995","unstructured":"Woo S C, Ohara M, Torrie E, et al. The SPLASH-2 programs: characterization and methodological considerations. In: Proceedings of the 22nd Annual International Symposium on Computer Architecture, Margherita Ligure, 1995. 24\u201336"},{"key":"5315_CR36","first-page":"75","volume-title":"Proceedings of the International Symposium on Code Generation and Optimization: Feedback-directed and Runtime Optimization, Palo Alto","author":"C Lattner","year":"2004","unstructured":"Lattner C, Adve V. LLVM: a compilation framework for lifelong program analysis & transformation. In: Proceedings of the International Symposium on Code Generation and Optimization: Feedback-directed and Runtime Optimization, Palo Alto, 2004. 75\u201386"},{"key":"5315_CR37","doi-asserted-by":"crossref","first-page":"134","DOI":"10.1145\/1542476.1542491","volume-title":"Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation, Dublin","author":"D Marino","year":"2009","unstructured":"Marino D, Musuvathi M, Narayanasamy S. Literace: effective sampling for lightweight data-race detection. In: Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation, Dublin, 2009. 134\u2013143"},{"key":"5315_CR38","first-page":"28","volume-title":"Proceedings of the 2012 USENIX Conference on Annual Technical Conference, Boston","author":"K Serebryany","year":"2012","unstructured":"Serebryany K, Bruening D, Potapenko A, et al. Addresssanitizer: a fast address sanity checker. In: Proceedings of the 2012 USENIX Conference on Annual Technical Conference, Boston, 2012. 28\u201328"},{"key":"5315_CR39","doi-asserted-by":"crossref","first-page":"235","DOI":"10.1145\/1095810.1095833","volume-title":"Proceedings of the 20th ACM Symposium on Operating Systems Principles, Brighton","author":"F Qin","year":"2005","unstructured":"Qin F, Tucek J, Sundaresan J, et al. Rx: treating bugs as allergies c a safe method to survive software failures. In: Proceedings of the 20th ACM Symposium on Operating Systems Principles, Brighton, 2005. 235\u2013248"},{"key":"5315_CR40","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1145\/1508244.1508250","volume-title":"Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, Washington","author":"S Sidiroglou","year":"2009","unstructured":"Sidiroglou S, Laadan O, Perez C, et al. Assure: automatic software self-healing using rescue points. In: Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, Washington, 2009. 37\u201348"},{"key":"5315_CR41","doi-asserted-by":"crossref","first-page":"369","DOI":"10.1145\/2043556.2043590","volume-title":"Proceedings of the 23rd ACM Symposium on Operating Systems Principles, Cascais","author":"K Veeraraghavan","year":"2011","unstructured":"Veeraraghavan K, Chen P M, Flinn J, et al. Detecting and surviving data races using complementary schedules. In: Proceedings of the 23rd ACM Symposium on Operating Systems Principles, Cascais, 2011. 369\u2013384"},{"key":"5315_CR42","first-page":"25","volume-title":"Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability, San Jose","author":"Z M Li","year":"2006","unstructured":"Li Z M, Tan L, Wang X H, et al. An empirical study of bug characteristics in modern open source software. In: Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability, San Jose, 2006. 25\u201333"},{"key":"5315_CR43","first-page":"334","volume-title":"Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston","author":"M Vaziri","year":"2006","unstructured":"Vaziri M, Tip F, Dolby J. Associating synchronization constraints with data in an object-oriented language. In: Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, 2006. 334\u2013345"},{"key":"5315_CR44","first-page":"211","volume-title":"Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems, London","author":"H Volos","year":"2012","unstructured":"Volos H, Tack A J, Swift M M, et al. Applying transactional memory to concurrency bugs. In: Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems, London, 2012. 211\u2013222"},{"key":"5315_CR45","first-page":"3","volume-title":"Proceedings of the 34th International Conference on Software Engineering, Zurich","author":"C Goues Le","year":"2012","unstructured":"Le Goues C, Dewey-Vogt M, Forrest S, et al. A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each. In: Proceedings of the 34th International Conference on Software Engineering, Zurich, 2012. 3\u201313"},{"key":"5315_CR46","doi-asserted-by":"crossref","first-page":"133","DOI":"10.1145\/2384616.2384626","volume-title":"Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, Tucson","author":"F Logozzo","year":"2012","unstructured":"Logozzo F, Ball T. Modular and verified automatic program repair. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, Tucson, 2012. 133\u2013146"},{"key":"5315_CR47","first-page":"299","volume-title":"Proceedings of the 34th International Conference on Software Engineering, Zurich","author":"P Liu","year":"2012","unstructured":"Liu P, Zhang C. Axis: automatically fixing atomicity violations through solving control constraints. In: Proceedings of the 34th International Conference on Software Engineering, Zurich, 2012. 299\u2013309"},{"key":"5315_CR48","doi-asserted-by":"crossref","first-page":"318","DOI":"10.1145\/2635868.2635881","volume-title":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, Hong Kong","author":"P Liu","year":"2014","unstructured":"Liu P, Tripp O, Zhang C. Grail: context-aware fixing of concurrency bugs. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, Hong Kong, 2014. 318\u2013329"},{"key":"5315_CR49","doi-asserted-by":"crossref","first-page":"87","DOI":"10.1145\/1629575.1629585","volume-title":"Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, Big Sky","author":"J H Perkins","year":"2009","unstructured":"Perkins J H, Kim S, Larsen S, et al. Automatically patching errors in deployed software. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, Big Sky, 2009. 87\u2013102"},{"key":"5315_CR50","first-page":"1","volume-title":"Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, Vancouver","author":"J Y Wu","year":"2010","unstructured":"Wu J Y, Cui H M, Yang J F. Bypassing races in live applications with execution filters. In: Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, Vancouver, 2010. 1\u201313"},{"key":"5315_CR51","first-page":"277","volume-title":"Proceedings of the 35th Annual International Symposium on Computer Architecture, Washington","author":"B Lucia","year":"2008","unstructured":"Lucia B, Devietti J, Strauss K, et al. Atom-aid: detecting and surviving atomicity violations. In: Proceedings of the 35th Annual International Symposium on Computer Architecture, Washington, 2008. 277\u2013288"},{"key":"5315_CR52","first-page":"325","volume-title":"Proceedings of the 36th Annual International Symposium on Computer Architecture, Austin","author":"J Yu","year":"2009","unstructured":"Yu J, Narayanasamy S. A case for an interleaving constrained shared-memory multi-processor. In: Proceedings of the 36th Annual International Symposium on Computer Architecture, Austin, 2009. 325\u2013336"},{"key":"5315_CR53","doi-asserted-by":"crossref","first-page":"263","DOI":"10.1109\/MICRO.2010.56","volume-title":"Proceedings of the 2010 43rd Annual IEEE\/ACM International Symposium on Microarchitecture, Washington","author":"J Yu","year":"2010","unstructured":"Yu J, Narayanasamy S. Tolerating concurrency bugs using transactions as lifeguards. In: Proceedings of the 2010 43rd Annual IEEE\/ACM International Symposium on Microarchitecture, Washington, 2010. 263\u2013274"},{"key":"5315_CR54","first-page":"39","volume-title":"Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems, Houston","author":"B Lucia","year":"2013","unstructured":"Lucia B, Ceze L. Cooperative empirical failure avoidance for multithreaded programs. In: Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems, Houston, 2013. 39\u201350"},{"key":"5315_CR55","first-page":"3","volume-title":"Proceedings of the 6th Conference on Symposium on Opearting Systems Design & Implementation, San Francisco","author":"G Candea","year":"2004","unstructured":"Candea G, Kawamoto S, Fujiki Y, et al. Microreboot-a technique for cheap recovery. In: Proceedings of the 6th Conference on Symposium on Opearting Systems Design & Implementation, San Francisco, 2004. 3"},{"key":"5315_CR56","first-page":"1","volume-title":"Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, Vancouver","author":"J Erickson","year":"2010","unstructured":"Erickson J, Musuvathi M, Burckhardt S, et al. Effective data-race detection for the kernel. In: Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, Vancouver, 2010. 1\u201316"},{"key":"5315_CR57","doi-asserted-by":"crossref","first-page":"307","DOI":"10.1145\/1755913.1755945","volume-title":"Proceedings of the 5th European Conference on Computer Systems, Paris","author":"L Chew","year":"2010","unstructured":"Chew L, Lie D. Kivati: fast detection and prevention of atomicity violations. In: Proceedings of the 5th European Conference on Computer Systems, Paris, 2010. 307\u2013320"},{"key":"5315_CR58","first-page":"103","volume-title":"Proceedings of the 21st ACM Symposium on Operating Systems Principles, Stevenson","author":"S Lu","year":"2007","unstructured":"Lu S, Park S, Hu C F, et al. MUVI: automatically inferring multi-variable access correlations and detecting related semantic and concurrency bugs. In: Proceedings of the 21st ACM Symposium on Operating Systems Principles, Stevenson, 2007. 103\u2013116"},{"key":"5315_CR59","first-page":"1","volume-title":"Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, Vancouver","author":"T Bergan","year":"2010","unstructured":"Bergan T, Hunt N, Ceze L, et al. Deterministic process groups in dOS. In: Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, Vancouver, 2010. 1\u201316"},{"key":"5315_CR60","doi-asserted-by":"crossref","first-page":"337","DOI":"10.1145\/2043556.2043588","volume-title":"Proceedings of the 23rd ACM Symposium on Operating Systems Principles, Cascais","author":"H M Cui","year":"2011","unstructured":"Cui H M, Wu J Y, Gallagher J, et al. Efficient deterministic multithreading through schedule relaxation. In: Proceedings of the 23rd ACM Symposium on Operating Systems Principles, Cascais, 2011. 337\u2013351"},{"key":"5315_CR61","doi-asserted-by":"crossref","first-page":"327","DOI":"10.1145\/2043556.2043587","volume-title":"Proceedings of the 23rd ACM Symposium on Operating Systems Principles, Cascais","author":"T P Liu","year":"2011","unstructured":"Liu T P, Curtsinger C, Berger E D. Dthreads: efficient deterministic multithreading. In: Proceedings of the 23rd ACM Symposium on Operating Systems Principles, Cascais, 2011. 327\u2013336"},{"key":"5315_CR62","doi-asserted-by":"crossref","first-page":"97","DOI":"10.1145\/1508244.1508256","volume-title":"Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, Washington","author":"M Olszewski","year":"2009","unstructured":"Olszewski M, Ansel J, Amarasinghe S. Kendo: efficient deterministic multithreading in software. In: Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, Washington, 2009. 97\u2013108"},{"key":"5315_CR63","first-page":"1","volume-title":"Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation","author":"A Aviram","year":"2010","unstructured":"Aviram A, Weng S-C, Hu S, et al. Efficient system-enforced deterministic parallelism. In: Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation. Berkeley: USENIX Association Berkeley, 2010. 1\u201316"},{"key":"5315_CR64","first-page":"346","volume-title":"Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston","author":"B McCloskey","year":"2006","unstructured":"McCloskey B, Zhou F, Gay D, et al. Autolocker: synchronization inference for atomic sections. In: Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, 2006. 346\u2013358"},{"key":"5315_CR65","doi-asserted-by":"crossref","first-page":"19","DOI":"10.1145\/2048066.2048071","volume-title":"Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, Portland","author":"D Weeratunge","year":"2011","unstructured":"Weeratunge D, Zhang X Y, Jagannathan S. Accentuating the positive: atomicity inference and enforcement using correct executions. In: Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, Portland, 2011. 19\u201334"},{"key":"5315_CR66","doi-asserted-by":"crossref","first-page":"652","DOI":"10.1145\/1869459.1869513","volume-title":"Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, Reno\/Tahoe","author":"G Upadhyaya","year":"2010","unstructured":"Upadhyaya G, Midkiff S P, Pai V S. Automatic atomic region identification in shared memory SPMD programs. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, Reno\/Tahoe, 2010. 652\u2013670"},{"key":"5315_CR67","volume-title":"Parallelizing Sequential Programs with Statistical Accuracy Tests. MIT Technical Report, MIT-CSAIL-TR-2010-038","author":"S Misailovic","year":"2010","unstructured":"Misailovic S, Kim D, Rinard M. Parallelizing Sequential Programs with Statistical Accuracy Tests. MIT Technical Report, MIT-CSAIL-TR-2010-038. 2010"},{"key":"5315_CR68","first-page":"23","volume-title":"Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Salt Lake City","author":"A Navabi","year":"2008","unstructured":"Navabi A, Zhang X Y, Jagannathan S. Quasi-static scheduling for safe futures. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Salt Lake City, 2008. 23\u201332"}],"container-title":["Science China Information Sciences"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11432-015-5315-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11432-015-5315-9\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11432-015-5315-9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,5,4]],"date-time":"2022-05-04T20:59:03Z","timestamp":1651697943000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11432-015-5315-9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,4,10]]},"references-count":68,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2015,5]]}},"alternative-id":["5315"],"URL":"https:\/\/doi.org\/10.1007\/s11432-015-5315-9","relation":{},"ISSN":["1674-733X","1869-1919"],"issn-type":[{"value":"1674-733X","type":"print"},{"value":"1869-1919","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,4,10]]}}}