期刊文献+

Debugging Concurrent Software: Advances and Challenges

Debugging Concurrent Software: Advances and Challenges
原文传递
导出
摘要 Concurrency debugging is an extremely important yet challenging problem that has been hampering developer productivity and software reliability in the multicore era. We have worked on this problem in the past eight years and have developed several effective methods and automated tools for helping developers debugging shared memory concurrent programs. This article discusses challenges in concurrency debugging and summarizes our research contributions in four important directions: concurrency bug reproduction, detection, understanding, and fixing. It also discusses other recent advances in tackling these challenges. Concurrency debugging is an extremely important yet challenging problem that has been hampering developer productivity and software reliability in the multicore era. We have worked on this problem in the past eight years and have developed several effective methods and automated tools for helping developers debugging shared memory concurrent programs. This article discusses challenges in concurrency debugging and summarizes our research contributions in four important directions: concurrency bug reproduction, detection, understanding, and fixing. It also discusses other recent advances in tackling these challenges.
出处 《Journal of Computer Science & Technology》 SCIE EI CSCD 2016年第5期861-868,共8页 计算机科学技术学报(英文版)
关键词 DEBUGGING CONCURRENCY record and replay debugging, concurrency, record and replay
  • 相关文献

参考文献30

  • 1Britton T, Jeng L, Carver G et al. Reversible debugging software. Technical Report, Judge Business School, Univer- sity of Cambridge, 2013.
  • 2Guo P, Zimmermann T, Nagappan Net al. Characterizing and predicting which bugs get fixed: An empirical study of Microsoft windows. In Proc. the 32nd ACM/IEEE Inter- national Conference on Software Engineering, May 2010, pp.495-504.
  • 3Gray J. Why do computers stop and what can be done about it? In Proc. the 5th Syrup. Reliability in Distributed Software and Database Systems, Jan. 1986, pp.3-12.
  • 4Lamport L. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput., 1979, 28(9): 690-691.
  • 5Weaver D, Germond T (eds.). The SPARC Architecture Manual, Version 9. SPARC International, Inc., 1994.
  • 6Lu S, Park S, Seo E et al. Learning from mistakes: A com- prehensive study on real world concurrency bug character- istics. In Proc. the 13th ASPLO, Mar. 2008, pp.329-339.
  • 7Yin Z, Yuan D, Zhou Yet al. How do fixes become bugs? In Proc. the 19th AUM SIGSOFT Syrup. the Foundations of Software Engineering and the 13th European Software Engineering Conferenee, Sept. 2011, pp.26-36.
  • 8Huang J, Liu P, Zhang C. LEAP: Lightweight determinis- tic multi-processor replay of concurrent Java programs. In Proc. the 18th ACM SIGSOFT FSE, Nov. 2010, pp.207- 216.
  • 9Huang .J, Liu P, Zhang C. LEAP: Lightweight determinis- tic multi-processor replay of concurrent Java programs. In Prvc. the 18th ACM SIGSOFT FSE, Nov. 2010, pp.385- 386.
  • 10Huang J, Zhang C, Dolby 3. CLAP: Recording local exe- cutions to reproduce concurrency failures. In Proc. ACM PLDI, June 2013, pp.141-152.

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部