2016 International Workshop on Software Engineering for Science

May 16, 2016

Held in Conjunction with ICSE'16

Austin, Texas, USA

Home      Call for Papers      Committee      Schedule


Workshop Notes

This workshop is concerned with identifying and understanding the unique aspects of Software Engineering (SE) for the development of scientific software. This class of software applications includes software developed to support various scientific endeavors which would be difficult or impossible to perform experimentally. Specifically, we are interested in:
  • Scientific software applications that solve complex software- or data-intensive research problems. These applications range from large, parallel models/simulations of the physical world using HPC systems to smaller scale simulations developed by a single scientist or engineer on a desktop machine or on a small cluster.
  • Applications that support scientific research and experiments. Such applications include, but are not limited to, systems for managing and/or manipulating large amounts of data and systems that provide infrastructure for research applications, e.g. libraries.
  • The process for building, reusing, and publishing software and the data used in scientific experiments or engineering innovations. Among others, these process include agile approaches, open source/open data issues, testing scientific software, and managing software or data repositories for publishing goals.
Despite its importance, the development of scientific software historically has attracted less attention from the SE community than other subdomains have. Indeed, the development of this type of software is significantly different than the development of business information systems, from which many of the SE best practices, tools and techniques have been drawn. Therefore, in order to identify and develop appropriate methods, tools and techniques for scientific software, members of the SE community must interact with members of the scientific software community to understand the differences and determine the most appropriate SE tools, methods and techniques. In addition, we hope to identify aspects of SE practice that are relevant for the education of future developers in various research domains, which can be provided as suggestions for inclusion in Software Engineering, Computer Science, Computational Science, and Data Science curricula.

Most conference and journal venues focus either on the SE domain or on the Computational Science domain, but rarely on the intersection of those domains. Specifically, within the scientific software community, there are few places to publish results related to the unique SE challenges faced by scientific software developers. The goal of this workshop is to provide a useful venue for researchers from SE and to discuss issues relevant to the intersection of these fields. The workshop provides an opportunity for members of these three groups to interact when they normally do not have such opportunities. By bringing these groups together, our goal is to support the building of a common research agenda to deal with the complex software development issues typical of scientific software. Furthermore, the discussion among these groups could be invaluable in identifying those aspects of SE that should be considered for computational science education programs at large.

A significant portion of the workshop time will be devoted to smaller group discussions to better understand the important issues and develop a research roadmap. In previous editions of this workshop, some of the discussion themes that emerged included: 1) The demanding characteristics of research software that affect its development choices; 2) The appropriate context dimensions to describe research software; 3) The major software quality goals for research software; 4) Crossing the communication chasm between SE and Science when experiments are software or data-intensive; 5) Effectively involving scientists in software development and training; 6) Measuring and disseminating the impact of SE on scientific productivity; 7) SE tools and methods needed by the scientific community; 8) How to effectively test scientific software; 9) How to get past the "short term benefits only" view of software engineering; and 10) Dealing with legacy code.

For more information contact Jeffrey Carver.
Last Updated on January 14, 2016 by Jeffrey Carver