Skip to main content
Top

2016 | OriginalPaper | Chapter

A Study of Concurrency Bugs in an Open Source Software

Authors : Sara Abbaspour Asadollah, Daniel Sundmark, Sigrid Eldh, Hans Hansson, Eduard Paul Enoiu

Published in: Open Source Systems: Integrating Communities

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Concurrent programming puts demands on software debugging and testing, as concurrent software may exhibit problems not present in sequential software, e.g., deadlocks and race conditions. In aiming to increase efficiency and effectiveness of debugging and bug-fixing for concurrent software, a deep understanding of concurrency bugs, their frequency and fixing-times would be helpful. Similarly, to design effective tools and techniques for testing and debugging concurrent software understanding the differences between non-concurrency and concurrency bugs in real-word software would be useful. This paper presents an empirical study focusing on understanding the differences and similarities between concurrency bugs and other bugs, as well as the differences among various concurrency bug types in terms of their severity and their fixing time. Our basis is a comprehensive analysis of bug reports covering several generations of an open source software system. The analysis involves a total of 4872 bug reports from the last decade, including 221 reports related to concurrency bugs. We found that concurrency bugs are different from other bugs in terms of their fixing time and their severity. Our findings shed light on concurrency bugs and could thereby influence future design and development of concurrent software, their debugging and testing, as well as related tools.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
3
Bug is “a problem which impairs or prevents the functions of the product” [9].
 
4
We provide the raw data of this study at https://​goo.​gl/​sr6iDQ.
 
Literature
1.
go back to reference Lu, S., Park, S., Seo, E., Zhou, Y.: Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. In: ACM Sigplan Notices, vol. 43, pp. 329–339. ACM (2008) Lu, S., Park, S., Seo, E., Zhou, Y.: Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. In: ACM Sigplan Notices, vol. 43, pp. 329–339. ACM (2008)
2.
go back to reference Peri, R.: Software development tools for multi-core/parallel programming. In: 6th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging, p. 9. ACM (2008) Peri, R.: Software development tools for multi-core/parallel programming. In: 6th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging, p. 9. ACM (2008)
3.
go back to reference Zhang, W., Sun, C., Lim, J., Lu, S., Reps, T.: Conmem: detecting crash-triggering concurrency bugs through an effect-oriented approach. ACM Trans. Softw. Eng. Methodol. (TOSEM) 22(2), 10 (2013)CrossRef Zhang, W., Sun, C., Lim, J., Lu, S., Reps, T.: Conmem: detecting crash-triggering concurrency bugs through an effect-oriented approach. ACM Trans. Softw. Eng. Methodol. (TOSEM) 22(2), 10 (2013)CrossRef
4.
go back to reference Desouza, J., Kuhn, B., De Supinski, B.R., SamDofalov, V., Zheltov, S., Bratanov, S.: Automated, scalable debugging of MPI programs with Intel message checker. In: Proceedings of the Second International Workshop on Software Engineering for High Performance Computing System Applications, pp. 78–82. ACM (2005) Desouza, J., Kuhn, B., De Supinski, B.R., SamDofalov, V., Zheltov, S., Bratanov, S.: Automated, scalable debugging of MPI programs with Intel message checker. In: Proceedings of the Second International Workshop on Software Engineering for High Performance Computing System Applications, pp. 78–82. ACM (2005)
5.
go back to reference Godefroid, P., Nagappan, N.: Concurrency at Microsoft: an exploratory survey. In: CAV Workshop on Exploiting Concurrency Efficiently and Correctly (2008) Godefroid, P., Nagappan, N.: Concurrency at Microsoft: an exploratory survey. In: CAV Workshop on Exploiting Concurrency Efficiently and Correctly (2008)
6.
go back to reference Süß, M., Leopold, C.: Common mistakes in OpenMP and how to avoid them. In: Mueller, M.S., Chapman, B.M., de Supinski, B.R., Malony, A.D., Voss, M. (eds.) IWOMP 2005 and IWOMP 2006. LNCS, vol. 4315, pp. 312–323. Springer, Heidelberg (2008)CrossRef Süß, M., Leopold, C.: Common mistakes in OpenMP and how to avoid them. In: Mueller, M.S., Chapman, B.M., de Supinski, B.R., Malony, A.D., Voss, M. (eds.) IWOMP 2005 and IWOMP 2006. LNCS, vol. 4315, pp. 312–323. Springer, Heidelberg (2008)CrossRef
7.
go back to reference Fonseca, P., Li, C., Singhal, V., Rodrigues, R.: A study of the internal and external effects of concurrency bugs. In: 2010 IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), pp. 221–230. IEEE (2010) Fonseca, P., Li, C., Singhal, V., Rodrigues, R.: A study of the internal and external effects of concurrency bugs. In: 2010 IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), pp. 221–230. IEEE (2010)
8.
go back to reference Polato, I., Ré, R., Goldman, A., Kon, F.: A comprehensive view of hadoop research? a systematic literature review. J. Netw. Comput. Appl. 46, 1–25 (2014)CrossRef Polato, I., Ré, R., Goldman, A., Kon, F.: A comprehensive view of hadoop research? a systematic literature review. J. Netw. Comput. Appl. 46, 1–25 (2014)CrossRef
10.
go back to reference Asadollah, S.A., Hansson, H., Sundmark, D., Eldh, S.: Towards classification of concurrency bugs based on observable properties. In: 1st International Workshop on Complex Faults and Failures in Large Software Systems, Italy (2015) Asadollah, S.A., Hansson, H., Sundmark, D., Eldh, S.: Towards classification of concurrency bugs based on observable properties. In: 1st International Workshop on Complex Faults and Failures in Large Software Systems, Italy (2015)
11.
go back to reference Qi, S., Otsuki, N., Nogueira, L.O., Muzahid, A., J. Torrellas.: Pacman: tolerating asymmetric data races with unintrusive hardware. In: 2012 IEEE 18th International Symposium on High Performance Computer Architecture, pp. 1–12. IEEE (2012) Qi, S., Otsuki, N., Nogueira, L.O., Muzahid, A., J. Torrellas.: Pacman: tolerating asymmetric data races with unintrusive hardware. In: 2012 IEEE 18th International Symposium on High Performance Computer Architecture, pp. 1–12. IEEE (2012)
12.
go back to reference Vargha, A., Delaney, H.D.: A critique and improvement of the CL common language effect size statistics of McGraw and Wong. J. Educ. Behav. Stat. 25(2), 101–132 (2000) Vargha, A., Delaney, H.D.: A critique and improvement of the CL common language effect size statistics of McGraw and Wong. J. Educ. Behav. Stat. 25(2), 101–132 (2000)
13.
go back to reference Neuhaus, S., Zimmermann, T., Holler, C., Zeller, A.: Predicting vulnerable software components. In: Proceedings of the 14th ACM Conference on Computer and Communications Security, pp. 529–540. ACM (2007) Neuhaus, S., Zimmermann, T., Holler, C., Zeller, A.: Predicting vulnerable software components. In: Proceedings of the 14th ACM Conference on Computer and Communications Security, pp. 529–540. ACM (2007)
14.
go back to reference Nagappan, N., Ball, T.: Static analysis tools as early indicators of pre-release defect density. In: 27th International Conference on Software Engineering, pp. 580–586. ACM (2005) Nagappan, N., Ball, T.: Static analysis tools as early indicators of pre-release defect density. In: 27th International Conference on Software Engineering, pp. 580–586. ACM (2005)
15.
go back to reference Rahman, F., Khatri, S., Barr, E.T., Devanbu, P.: Comparing static bug finders and statistical prediction. In: Proceedings of the 36th International Conference on Software Engineering, pp. 424–434. ACM (2014) Rahman, F., Khatri, S., Barr, E.T., Devanbu, P.: Comparing static bug finders and statistical prediction. In: Proceedings of the 36th International Conference on Software Engineering, pp. 424–434. ACM (2014)
16.
go back to reference Lewis, C., Lin, Z., Sadowski, C., Zhu, X., Ou, R., Whitehead, E.J.: Does bug prediction support human developers? findings from a google case study. In: 2013 35th International Conference on Software Engineering (ICSE), pp. 372–381. IEEE (2013) Lewis, C., Lin, Z., Sadowski, C., Zhu, X., Ou, R., Whitehead, E.J.: Does bug prediction support human developers? findings from a google case study. In: 2013 35th International Conference on Software Engineering (ICSE), pp. 372–381. IEEE (2013)
17.
go back to reference Voinea, L., Telea, A.: How do changes in buggy Mozilla files propagate? In: Proceedings of the 2006 ACM Symposium on Software Visualization, pp. 147–148. ACM (2006) Voinea, L., Telea, A.: How do changes in buggy Mozilla files propagate? In: Proceedings of the 2006 ACM Symposium on Software Visualization, pp. 147–148. ACM (2006)
18.
go back to reference Pan, W.-F., Li, B., Ma, Y.-T., Qin, Y.-Y., Zhou, X.-Y.: Measuring structural quality of object-oriented softwares via bug propagation analysis on weighted software networks. J. Comput. Sci. Technol. 25(6), 1202–1213 (2010)CrossRef Pan, W.-F., Li, B., Ma, Y.-T., Qin, Y.-Y., Zhou, X.-Y.: Measuring structural quality of object-oriented softwares via bug propagation analysis on weighted software networks. J. Comput. Sci. Technol. 25(6), 1202–1213 (2010)CrossRef
19.
go back to reference Vandiver, B., Balakrishnan, H., Liskov, B., Madden, S.: Tolerating byzantine faults in transaction processing systems using commit barrier scheduling. ACM SIGOPS Operating Syst. Rev. 41(6), 59–72 (2007)CrossRef Vandiver, B., Balakrishnan, H., Liskov, B., Madden, S.: Tolerating byzantine faults in transaction processing systems using commit barrier scheduling. ACM SIGOPS Operating Syst. Rev. 41(6), 59–72 (2007)CrossRef
20.
go back to reference Chandra, S., Chen, P.M.: Whither generic recovery from application faults? a fault study using open-source software. In: Proceedings International Conference on Dependable Systems and Networks, DSN 2000, pp. 97–106. IEEE (2000) Chandra, S., Chen, P.M.: Whither generic recovery from application faults? a fault study using open-source software. In: Proceedings International Conference on Dependable Systems and Networks, DSN 2000, pp. 97–106. IEEE (2000)
21.
go back to reference Farchi, E., Nir, Y., Ur, S.: Concurrent bug patterns and how to test them. In: Parallel and Distributed Processing Symposium, p. 7. IEEE (2003) Farchi, E., Nir, Y., Ur, S.: Concurrent bug patterns and how to test them. In: Parallel and Distributed Processing Symposium, p. 7. IEEE (2003)
Metadata
Title
A Study of Concurrency Bugs in an Open Source Software
Authors
Sara Abbaspour Asadollah
Daniel Sundmark
Sigrid Eldh
Hans Hansson
Eduard Paul Enoiu
Copyright Year
2016
DOI
https://doi.org/10.1007/978-3-319-39225-7_2

Premium Partner