19.06.16 - 24.06.16, Seminar 16252

Engineering Academic Software

Diese Seminarbeschreibung wurde vor dem Seminar auf unseren Webseiten veröffentlicht und bei der Einladung zum Seminar verwendet.

Motivation

Software is fundamental to academic research work, both as part of the method and as the result of research. With the advent of artifact evaluation committees of conferences, journals which include source code and running systems as part of the published artifacts, as well as the increasing push to reproducibility, we foresee that software will only increase in importance as part of the academic process. To ensure the quality of this software, we must

  1. better understand the constraints of the environment in which academic software is created and used,
  2. adapt and distribute appropriate software engineering knowledge and expertise across communities, and
  3. identify strengths, weaknesses, risks and opportunities in academic software engineering.

The goal of this Perspectives Workshop is to produce a roadmap towards future professional software engineering for software-based research instruments and other software produced and used in an academic context (i.e., for science, not administration). We will seek to address the following questions:

  • What is academic software? How is it different from other software? What are its most pressing dimensions of quality?
  • Is the software that drives our research methods correct? Are the inputs and outputs sufficiently specified to be able to interpret the difference between incorrect and correct? How to verify (test or prove) our claims?
  • Is the software we use and produce in an academic context sustainable? How can we ensure that the software continues to evolve and offer value after serving its initial purpose?
  • Are we able to incrementally adapt research software to emerging opportunities at the same time, without loss of reproducibility and without incurring prohibitive cost?
  • How can we adapt software engineering methods for the unique academic context without losing quality?
  • How can we balance domain knowledge and expertise with software engineering knowledge and expertise in an academic research team?
  • What are motivators for investment and change for research teams, considering the highly competitive and already complex environment they operate in? Is it clear what is required in terms of long term funding, education and infrastructure to make the goals of academic software feasible?
  • Do quality aspects of academic software apply to open data as well? How can well-engineered academic software together with open data make science more reproducible?

We conjecture software engineering and academic software developers can learn from each other. We believe that the software engineering research community is well-positioned to provide input on research software for other research communities. At the same time, the software engineering community will learn from other research communities who have experience in validating experimental research methods, calibrating research instruments, and developing software for and with academic researchers.