{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,12]],"date-time":"2026-04-12T03:10:13Z","timestamp":1775963413450,"version":"3.50.1"},"reference-count":30,"publisher":"Springer Science and Business Media LLC","issue":"5","license":[{"start":{"date-parts":[[2016,9,1]],"date-time":"2016-09-01T00:00:00Z","timestamp":1472688000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J. Comput. Sci. Technol."],"published-print":{"date-parts":[[2016,9]]},"DOI":"10.1007\/s11390-016-1669-8","type":"journal-article","created":{"date-parts":[[2016,9,5]],"date-time":"2016-09-05T02:14:38Z","timestamp":1473041678000},"page":"861-868","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":13,"title":["Debugging Concurrent Software: Advances and Challenges"],"prefix":"10.1007","volume":"31","author":[{"given":"Jeff","family":"Huang","sequence":"first","affiliation":[]},{"given":"Charles","family":"Zhang","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2016,9,9]]},"reference":[{"key":"1669_CR1","unstructured":"Britton T, Jeng L, Carver G et al. Reversible debugging software. Technical Report, Judge Business School, University of Cambridge, 2013."},{"key":"1669_CR2","doi-asserted-by":"crossref","unstructured":"Guo P, Zimmermann T, Nagappan N et al. Characterizing and predicting which bugs get fixed: An empirical study of Microsoft windows. In Proc. the 32nd ACM\/IEEE International Conference on Software Engineering, May 2010, pp.495-504.","DOI":"10.1145\/1806799.1806871"},{"key":"1669_CR3","unstructured":"Gray J. Why do computers stop and what can be done about it? In Proc. the 5th Symp. Reliability in Distributed Software and Database Systems, Jan. 1986, pp.3-12."},{"issue":"9","key":"1669_CR4","doi-asserted-by":"crossref","first-page":"690","DOI":"10.1109\/TC.1979.1675439","volume":"28","author":"L Lamport","year":"1979","unstructured":"Lamport L. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput., 1979, 28(9): 690-691.","journal-title":"IEEE Trans. Comput."},{"key":"1669_CR5","unstructured":"Weaver D, Germond T (eds.). The SPARC Architecture Manual, Version 9. SPARC International, Inc., 1994."},{"key":"1669_CR6","doi-asserted-by":"crossref","unstructured":"Lu S, Park S, Seo E et al. Learning from mistakes: A comprehensive study on real world concurrency bug characteristics. In Proc. the 13th ASPLO, Mar. 2008, pp.329-339.","DOI":"10.1145\/1346281.1346323"},{"key":"1669_CR7","doi-asserted-by":"crossref","unstructured":"Yin Z, Yuan D, Zhou Y et al. How do fixes become bugs? In Proc. the 19th ACM SIGSOFT Symp. the Foundations of Software Engineering and the 13th European Software Engineering Conference, Sept. 2011, pp.26-36.","DOI":"10.1145\/2025113.2025121"},{"key":"1669_CR8","doi-asserted-by":"crossref","unstructured":"Huang J, Liu P, Zhang C. LEAP: Lightweight deterministic multi-processor replay of concurrent Java programs. In Proc. the 18th ACM SIGSOFT FSE, Nov. 2010, pp.207-216.","DOI":"10.1145\/1882291.1882361"},{"key":"1669_CR9","doi-asserted-by":"crossref","unstructured":"Huang J, Liu P, Zhang C. LEAP: Lightweight deterministic multi-processor replay of concurrent Java programs. In Proc. the 18th ACM SIGSOFT FSE, Nov. 2010, pp.385-386.","DOI":"10.1145\/1882291.1882361"},{"key":"1669_CR10","doi-asserted-by":"crossref","unstructured":"Huang J, Zhang C, Dolby J. CLAP: Recording local executions to reproduce concurrency failures. In Proc. ACM PLDI, June 2013, pp.141-152.","DOI":"10.1145\/2491956.2462167"},{"key":"1669_CR11","doi-asserted-by":"crossref","unstructured":"Ball T, Larus J R. Efficient path profiling. In Proc. the 29th IEEE\/ACM MICRO, Dec. 1996, pp.46-57.","DOI":"10.1109\/MICRO.1996.566449"},{"key":"1669_CR12","doi-asserted-by":"crossref","unstructured":"de Moura L M, Bj\u00f8rner N. Z3: An efficient SMT solver. In Proc. the 14th TACAS, March 29-April 6, 2008, pp.337-340.","DOI":"10.1007\/978-3-540-78800-3_24"},{"key":"1669_CR13","doi-asserted-by":"crossref","unstructured":"Vaswani K, Thazhuthaveetil M J, Srikant Y N. A programmable hardware path profiler. In Proc. the 3rd IEEE\/ACM CGO, Mar. 2005, pp.217-228.","DOI":"10.1109\/CGO.2005.3"},{"key":"1669_CR14","doi-asserted-by":"crossref","unstructured":"Huang J, Zhang C. PECAN: Persuasive prediction of concurrency access anomalies. In Proc. the 20th ISSTA, July 2011, pp.144-154.","DOI":"10.1145\/2001420.2001438"},{"key":"1669_CR15","doi-asserted-by":"crossref","unstructured":"Huang J, Zhou J, Zhang C. Scaling predictive analysis of concurrent programs by removing trace redundancy. ACM Trans. Softw. Eng. Methodol., 2013, 22(1): Article No. 8.","DOI":"10.1145\/2430536.2430542"},{"key":"1669_CR16","doi-asserted-by":"crossref","unstructured":"Huang J, Meredith P O, Rosu G. Maximal sound predictive race detection with control flow abstraction. In Proc. ACM PLDI, June 2014.","DOI":"10.1145\/2666356.2594315"},{"key":"1669_CR17","doi-asserted-by":"crossref","unstructured":"Huang J, Luo Q, Rosu G. GPredict: Generic predictive concurrency analysis. In Proc. the 37th ICSE, May 2015, pp.847-857.","DOI":"10.1109\/ICSE.2015.96"},{"key":"1669_CR18","doi-asserted-by":"crossref","unstructured":"Huang J, Zhang C. An efficient static trace simplification technique for debugging concurrent programs. In Proc. the 18th SAS, Sept. 2011, pp.163-179.","DOI":"10.1007\/978-3-642-23702-7_15"},{"key":"1669_CR19","doi-asserted-by":"crossref","unstructured":"Huang J, Zhang C. LEAN: Simplifying concurrency bug reproduction via replay-supported execution reduction. In Proc. the 27th OOPSLA, Oct. 2012, pp.451-466.","DOI":"10.1145\/2398857.2384649"},{"key":"1669_CR20","doi-asserted-by":"crossref","unstructured":"Jin G, Song L, Zhang W et al. Automated atomicityviolation fixing. In Proc. PLDI, June 2011, pp.389-400.","DOI":"10.1145\/1993316.1993544"},{"key":"1669_CR21","unstructured":"Jin G, Zhang W, Deng D. Automated concurrency-bug fixing. In Proc. the 10th OSDI, Oct. 2012, pp.221-236."},{"key":"1669_CR22","doi-asserted-by":"crossref","unstructured":"Liu P, Zhang C. Axis: Automatically fixing atomicity violations through solving control constraints. In Proc. the 34th ICSE, June 2012, pp.299-309.","DOI":"10.1109\/ICSE.2012.6227184"},{"key":"1669_CR23","doi-asserted-by":"crossref","unstructured":"Huang J, Zhang C. Execution privatization for scheduleroblivious concurrent programs. In Proc. OOPSLA, Oct. 2012, pp.737-752.","DOI":"10.1145\/2398857.2384670"},{"issue":"3","key":"1669_CR24","doi-asserted-by":"crossref","first-page":"280","DOI":"10.1109\/TSE.2015.2477820","volume":"42","author":"Q Shi","year":"2016","unstructured":"Shi Q, Huang J, Chen Z et al. Verifying synchronization for atomicity violations. IEEE Trans. Software Eng., 2016, 42(3): 280-296.","journal-title":"IEEE Trans. Software Eng."},{"issue":"2","key":"1669_CR25","doi-asserted-by":"crossref","first-page":"77","DOI":"10.1007\/s10703-005-1489-x","volume":"26","author":"P Godefroid","year":"2005","unstructured":"Godefroid P. Software model checking: The VeriSoft approach. Formal Methods in System Design, 2005, 26(2): 77-101.","journal-title":"Formal Methods in System Design"},{"key":"1669_CR26","unstructured":"Musuvathi M, Qadeer S, Ball T et al. Finding and reproducing Heisenbugs in concurrent programs. In Proc. the 8th USENIX Symposium on Operating Systems Design and Implementation, Dec. 2008, pp.267-280."},{"key":"1669_CR27","doi-asserted-by":"crossref","unstructured":"Flanagan C, Godefroid P. Dynamic partial-order reduction for model checking software. In Proc. the 32nd ACM POPL, Jan. 2005, pp.110-121.","DOI":"10.1145\/1040305.1040315"},{"key":"1669_CR28","doi-asserted-by":"crossref","unstructured":"Devietti J, Lucia B, Ceze L et al. DMP: Deterministic shared memory multi-processing. In Proc. the 14th ASPLO, Mar. 2009, pp.85-96.","DOI":"10.1145\/1508244.1508255"},{"key":"1669_CR29","doi-asserted-by":"crossref","unstructured":"Liu T, Curtsinger C, Berger E D. Dthreads: Efficient deterministic multithreading. In Proc. the 33rd ACM SOSP, Oct. 2011, pp.327-336.","DOI":"10.1145\/2043556.2043587"},{"key":"1669_CR30","doi-asserted-by":"crossref","unstructured":"Cui H, Simsa J, Lin Y H et al. Parrot: A practical runtime for deterministic, stable, and reliable threads. In Proc. the 24th ACM SOSP, Nov. 2013, pp.388-405.","DOI":"10.1145\/2517349.2522735"}],"container-title":["Journal of Computer Science and Technology"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11390-016-1669-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11390-016-1669-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11390-016-1669-8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,9,13]],"date-time":"2019-09-13T02:03:34Z","timestamp":1568340214000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11390-016-1669-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,9]]},"references-count":30,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2016,9]]}},"alternative-id":["1669"],"URL":"https:\/\/doi.org\/10.1007\/s11390-016-1669-8","relation":{},"ISSN":["1000-9000","1860-4749"],"issn-type":[{"value":"1000-9000","type":"print"},{"value":"1860-4749","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,9]]}}}