A survey of scientific software development

Software for scientific research purposes has received increased attention in recent years. Case studies have noted development practices, limitations, and problems in the development of scientific software. However, applicability of the results of these studies to improving the wider scientific software development practices is not known. This paper presents a survey of 60 scientific software developers. The survey was conducted online from August--September 2009, and aims to identify where improvements to scientific software practices can be made. While our results generally confirm previous work, we have found some notable differences. The use of IDEs and version control tools among the surveyed scientific software developers has increased, and trace-ability of scientific software is not as important to scientific software developers as it is to scientific software users. Documentation also appears to be more widely produced than previous studies indicate. However, there remains room for improvement in tool use, documentation, testing, and verification activities for scientific software development.

[1]  Greg Wilson,et al.  Configuration Management for Large-Scale Scientific Computing at the UK Met Office , 2008, Computing in Science & Engineering.

[2]  Judith Segal,et al.  Developing Scientific Software , 2008, IEEE Software.

[3]  Jeffrey C. Carver,et al.  Development of a Weather Forecasting Code: A Case Study , 2008, IEEE Software.

[4]  Jeffrey C. Carver,et al.  Software Development Environments for Scientific and Engineering Software: A Series of Case Studies , 2007, 29th International Conference on Software Engineering (ICSE'07).

[5]  B SeamanCarolyn Qualitative Methods in Empirical Studies of Software Engineering , 1999 .

[6]  Judith Segal,et al.  Professional end user developers and software development knowledge , 2004 .

[7]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[8]  Diane Kelly,et al.  Dealing with Risk in Scientific Software Development , 2008, IEEE Software.

[9]  Rebecca Sanders THE DEVELOPMENT AND USE OF SCIENTIFIC SOFTWARE , 2008 .

[10]  Gregory J. Wilson,et al.  Where’s the Real Bottleneck in Scientific Computing? , 2006 .

[11]  Henry Gardner,et al.  Design patterns for e-science , 2007, Texts in computational science and engineering.

[12]  Geoff R. Mant,et al.  Scientific Software Development at a Research Facility , 2008, IEEE Software.

[13]  Howard Margolis,et al.  Dealing with risk , 1996 .

[14]  Jeffrey C. Carver,et al.  Understanding the High-Performance-Computing Community: A Software Engineer's Perspective , 2008, IEEE Software.

[15]  Judith Segal Some Problems of Professional End User Developers , 2007 .

[16]  Janice Singer,et al.  How do scientists develop and use scientific software? , 2009, 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering.