Call for Chapter Proposals: Software Engineering for Science

This post originally appeared on the Software Carpentry website.

With the continuing increase in the importance and prevalence of software developed in support of science, there is a need to gather a set of best practices and case studies to serve as a standard reference book. We are producing a peer-reviewed, edited book to address this need. The book will be composed of chapters related to one of three topics that address the important needs. The book will have three sections, each related to one of those topics. The outline below enumerates those sections along with examples of the types of chapters that would fit within those sections. We solicit proposals from interested authors. Chapter proposals should fit into one of the following book sections.

Section I - Examples of the Application of Traditional Software Engineering Practices to Science.
This section will include chapters that describe generalizable experiences with applying traditional software engineering practices to the development of scientific software. Chapters should describe the practice, how the practice had to be modified to work in a scientific environment, and any lessons learned from using the practice. Note that it is preferable for chapters to contain real data, e.g. a case study, over simply a theoretical argument. Examples of the types of chapters this section will include are:

  • chapters describing practices that are being adopted in scientific environments, e.g. version control or unit testing;
  • chapters describing practices that have potential benefit to science but currently lack adoption, sufficient evidence, or case studies, e.g. Continuous Integration, code review, documentation; and
  • chapters describing practices in which scientists have shown interest, but there is a lack of evidence from the software engineering perspective, e.g. test-driven development.

Section II - Advances in Software Engineering through Application to Science Problems.
This section will include chapters that focus on how the field of software engineering has been advanced because of experiences from developing scientific software. Examples of the types of chapters this section will include are:

  • chapters describing the use of software engineering at extreme scale, e.g. latency effects, synchronisation, handling failures;
  • chapters describing quality assurance (e.g. testing or code reviews) in highly distributed, extreme-scale environments;
  • chapters describing quality assurance in situations where the "correct" answers are not known, or are difficult to check;
  • chapters describing development of mixed-language software;
  • chapters describing particular techniques working with legacy code; and
  • chapters describing software engineering techniques for handling large, highly-distributed, rapidly varying, and/or dirty data.

Section III - Practices coming from outside both Software Engineering and Science which have relevance for the intersection of the two.
This section will include chapters that focus on how techniques and practices coming from outside the field of software engineering are advancing the practice of software engineering for scientific software. Examples of the types of chapters this section will include are:

  • chapters describing how community management and engagement best practice (e.g. from volunteer or campaigning communities) can be used for scientific software;
  • chapters describing how economic models can be used to improve management and decision-making in relation to development of scientific software;
  • chapters describing how systems engineering approaches might relate to scientific software development and organisation;
  • chapters describing how education and training practices can be applied to improve the software engineering practices used in science;
  • chapters describing how working practices from other industries (e.g. creative, manufacturing) have been applied to improve the efficiency or effectiveness of scientific software development; and
  • chapters on the application of other ideas that have an impact on the intersection of software engineering and science.

Chapter proposals should be 2 pages or less and contain the following information:

  • Author(s) and qualifications
  • Chapter title
  • Section of the book
  • Abstract of the chapter
  • Detailed outline for the chapter
  • Justification for chapter's inclusion in book

Proposals should be submitted in PDF format to Jeffrey Carver.

Important Dates:

  • June 15, 2015 - Chapter proposals due
  • July 1, 2015 - Results of proposal review announced, chapter invitations sent
  • Dec. 1, 2015 - initial manuscript submission for peer review

Note that accepted authors will be expected to participate in the peer-review process for other chapters.

For updated information, please visit

Dialogue & Discussion

Comments must follow our Code of Conduct.

Edit this page on Github