Skip to main content
Erschienen in: Empirical Software Engineering 1/2022

01.01.2022

Developers perception of peer code review in research software development

verfasst von: Nasir U. Eisty, Jeffrey C. Carver

Erschienen in: Empirical Software Engineering | Ausgabe 1/2022

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Context

Research software is software developed by and/or used by researchers, across a wide variety of domains, to perform their research. Because of the complexity of research software, developers cannot conduct exhaustive testing. As a result, researchers have lower confidence in the correctness of the output of the software. Peer code review, a standard software engineering practice, has helped address this problem in other types of software.

Objective

Peer code review is less prevalent in research software than it is in other types of software. In addition, the literature does not contain any studies about the use of peer code review in research software. Therefore, through analyzing developers perceptions, the goal of this work is to understand the current practice of peer code review in the development of research software, identify challenges and barriers associated with peer code review in research software, and present approaches to improve the peer code review in research software.

Method

We conducted interviews and a community survey of research software developers to collect information about their current peer code review practices, difficulties they face, and how they address those difficulties.

Results

We received 84 unique responses from the interviews and surveys. The results show that while research software teams review a large amount of their code, they lack formal process, proper organization, and adequate people to perform the reviews.

Conclusions

Use of peer code review is promising for improving the quality of research software and thereby improving the trustworthiness of the underlying research results. In addition, by using peer code review, research software developers produce more readable and understandable code, which will be easier to maintain.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

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+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!

Literatur
Zurück zum Zitat Beller M, Bacchelli A, Zaidman A, Juergens E (2014a) Modern code reviews in open-source projects: Which problems do they fix?. In: Proceedings of the 11th working conference on mining software repositories, MSR 2014. Association for Computing Machinery, New York, pp 202–211. https://doi.org/10.1145/2597073.2597082 Beller M, Bacchelli A, Zaidman A, Juergens E (2014a) Modern code reviews in open-source projects: Which problems do they fix?. In: Proceedings of the 11th working conference on mining software repositories, MSR 2014. Association for Computing Machinery, New York, pp 202–211. https://​doi.​org/​10.​1145/​2597073.​2597082
Zurück zum Zitat Beller M, Bacchelli A, Zaidman A, Juergens E (2014b) Modern code reviews in open-source projects: Which problems do they fix?. In: Proceedings of the 11th working conference on mining software repositories, MSR 2014. ACM, New York. https://doi.org/10.1145/2597073.2597082, pp 202–211 Beller M, Bacchelli A, Zaidman A, Juergens E (2014b) Modern code reviews in open-source projects: Which problems do they fix?. In: Proceedings of the 11th working conference on mining software repositories, MSR 2014. ACM, New York. https://​doi.​org/​10.​1145/​2597073.​2597082, pp 202–211
Zurück zum Zitat Bosu A, Carver JC, Bird C, Orbeck J, Chockley C (2017) Process aspects and social dynamics of contemporary code review: Insights from open source development and industrial practice at microsoft. IEEE Trans Softw Eng 43(1):56–75CrossRef Bosu A, Carver JC, Bird C, Orbeck J, Chockley C (2017) Process aspects and social dynamics of contemporary code review: Insights from open source development and industrial practice at microsoft. IEEE Trans Softw Eng 43(1):56–75CrossRef
Zurück zum Zitat Carver J, Chue Hong N, Thiruvathukal G (2016) Software engineering for science. CRC Press, Boca RatonCrossRef Carver J, Chue Hong N, Thiruvathukal G (2016) Software engineering for science. CRC Press, Boca RatonCrossRef
Zurück zum Zitat Carver JC (2008) Se-cse 2008: The first international workshop on software engineering for computational science and engineering. In: Companion of the 30th international conference on software engineering, ICSE Companion ’08. Association for Computing Machinery, New York, pp 1071–1072. https://doi.org/10.1145/1370175.1370252 Carver JC (2008) Se-cse 2008: The first international workshop on software engineering for computational science and engineering. In: Companion of the 30th international conference on software engineering, ICSE Companion ’08. Association for Computing Machinery, New York, pp 1071–1072. https://​doi.​org/​10.​1145/​1370175.​1370252
Zurück zum Zitat Clune T, Rood R (2011) Software testing and verification in climate model development. IEEE Softw 28(6):49–55. 10.1109/MS.2011.117CrossRef Clune T, Rood R (2011) Software testing and verification in climate model development. IEEE Softw 28(6):49–55. 10.1109/MS.2011.117CrossRef
Zurück zum Zitat Eisty NU, Thiruvathukal GK, Carver JC (2018) A survey of software metric use in research software development. In: 2018 IEEE 14th international conference on e-Science (e-Science), pp 212–222 Eisty NU, Thiruvathukal GK, Carver JC (2018) A survey of software metric use in research software development. In: 2018 IEEE 14th international conference on e-Science (e-Science), pp 212–222
Zurück zum Zitat Fagan ME (1976) Design and code inspections to reduce errors in program development. IBM Syst J 15(3):182–211. 10.1147/sj.153.0182CrossRef Fagan ME (1976) Design and code inspections to reduce errors in program development. IBM Syst J 15(3):182–211. 10.1147/sj.153.0182CrossRef
Zurück zum Zitat Faulk S, Loh E, Vanter MLVD, Squires S, Votta LG (2009) Scientific computing’s productivity gridlock: How software engineering can help. Comput Sci Eng 11(6):30–39CrossRef Faulk S, Loh E, Vanter MLVD, Squires S, Votta LG (2009) Scientific computing’s productivity gridlock: How software engineering can help. Comput Sci Eng 11(6):30–39CrossRef
Zurück zum Zitat McIntosh S, Kamei Y, Adams B, Hassan AE (2014) The impact of code review coverage and code review participation on software quality: A case study of the qt, vtk, and itk projects. In: Proceedings of the 11th working conference on mining software repositories, MSR 2014. Association for Computing Machinery, New York. https://doi.org/10.1145/2597073.2597076, pp 192–201 McIntosh S, Kamei Y, Adams B, Hassan AE (2014) The impact of code review coverage and code review participation on software quality: A case study of the qt, vtk, and itk projects. In: Proceedings of the 11th working conference on mining software repositories, MSR 2014. Association for Computing Machinery, New York. https://​doi.​org/​10.​1145/​2597073.​2597076, pp 192–201
Zurück zum Zitat Morales R, McIntosh S, Khomh F (2015) Do code review practices impact design quality? a case study of the qt, vtk, and itk projects. In: 2015 IEEE 22nd international conference on software analysis, evolution, and reengineering (SANER). https://doi.org/10.1109/SANER.2015.7081827, pp 171–180 Morales R, McIntosh S, Khomh F (2015) Do code review practices impact design quality? a case study of the qt, vtk, and itk projects. In: 2015 IEEE 22nd international conference on software analysis, evolution, and reengineering (SANER). https://​doi.​org/​10.​1109/​SANER.​2015.​7081827, pp 171–180
Zurück zum Zitat Petre M, Wilson G (2014) Code review for and by scientists. In: Proc. 2nd workshop on sustainable software for science: practice and experience Petre M, Wilson G (2014) Code review for and by scientists. In: Proc. 2nd workshop on sustainable software for science: practice and experience
Zurück zum Zitat Remmel H, Paech B, Bastian P, Engwer C (2012) System testing a scientific framework using a regression-test environment. Comput Sci Eng 14(2):38–45CrossRef Remmel H, Paech B, Bastian P, Engwer C (2012) System testing a scientific framework using a regression-test environment. Comput Sci Eng 14(2):38–45CrossRef
Zurück zum Zitat Sadowski C, Söderberg E, Church L, Sipko M, Bacchelli A (2018) Modern code review: A case study at google. In: Proceedings of the 40th international conference on software engineering: software engineering in practice, ICSE-SEIP ’18. ACM, New York. https://doi.org/10.1145/3183519.3183525., pp 181–190 Sadowski C, Söderberg E, Church L, Sipko M, Bacchelli A (2018) Modern code review: A case study at google. In: Proceedings of the 40th international conference on software engineering: software engineering in practice, ICSE-SEIP ’18. ACM, New York. https://​doi.​org/​10.​1145/​3183519.​3183525.​, pp 181–190
Zurück zum Zitat Sanders R, Kelly D (2008) Dealing with risk in scientific software development. IEEE Softw 25(4):21–28CrossRef Sanders R, Kelly D (2008) Dealing with risk in scientific software development. IEEE Softw 25(4):21–28CrossRef
Zurück zum Zitat Segal J (2009) Some challenges facing software engineers developing software for scientists. In: 2009 ICSE workshop on software engineering for computational science and engineering. pp 9–14 Segal J (2009) Some challenges facing software engineers developing software for scientists. In: 2009 ICSE workshop on software engineering for computational science and engineering. pp 9–14
Zurück zum Zitat Vilkomir SA, Swain WT, Poore JH, Clarno KT (2008) Modeling input space for testing scientific computational software: A case study. In: Bubak M, van Albada GD, Dongarra J, Sloot PMA (eds) Computational science – ICCS 2008. Springer, Berlin, pp 291–300 Vilkomir SA, Swain WT, Poore JH, Clarno KT (2008) Modeling input space for testing scientific computational software: A case study. In: Bubak M, van Albada GD, Dongarra J, Sloot PMA (eds) Computational science – ICCS 2008. Springer, Berlin, pp 291–300
Metadaten
Titel
Developers perception of peer code review in research software development
verfasst von
Nasir U. Eisty
Jeffrey C. Carver
Publikationsdatum
01.01.2022
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 1/2022
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-021-10053-x

Weitere Artikel der Ausgabe 1/2022

Empirical Software Engineering 1/2022 Zur Ausgabe

Premium Partner