Second International Workshop on Software Engineering for Computational Science and Engineering
Saturday, May 23, 2009
Co-located with ICSE 2009 - Vancouver, Canada
This workshop is concerned with the development of:
Scientific software applications, where the focus is on directly solving scientific problems. These applications include, but are not limited to, large parallel models/simulations of the physical world (high performance computing systems).
Applications that support scientific endeavors. Such applications include, but are not limited to, systems for managing and/or manipulating large amounts of data.
A particular software application might fit into both categories (for example, a weather forecasting system might both run climatology models and produce visualisations of big data sets) or just one (for example, nuclear simulations fit into the first category and laboratory information management software into the second). For brevity, we refer to both categories under the umbrella title of "Computational Science and Engineering (CS&E)".
Despite its importance in our everyday lives, CS&E has historically attracted little attention from the software engineering community. Indeed, the development of CS&E software differs significantly from the development of business information systems, from which many of the software engineering best practices, tools and techniques have been drawn. These differences include, for example:
CS&E projects are often exploring unknown science, making it difficult to determine a concrete set of requirements a priori.
For the same reason, a test oracle may not exist (for example, the physical data needed to validate a simulation may not exist). The lack of an oracle clearly poses challenges to the development of a testing strategy.
The software development process for CS&E application development may differ profoundly from traditional software engineering processes. For example, one scientific computing workflow, dubbed the "lone researcher", involves a single scientist developing a system to test a hypothesis. Once the system runs correctly and returns its results, the scientist has no further need of the system. This approach contrasts with more typical software engineering lifecycle models, in which the useful life of the software is expected to begin, not end, after the first correct execution.
CS&E applications often require more computing resources than are available on a typical workstation. Existing solutions for providing more computational resources (e.g., clusters, supercomputers, grids) can be difficult to use, resulting in additional software engineering challenges.
CS&E developers may have no formal knowledge of software engineering tools and techniques, and may be developing software in a very isolated fashion. For example, it is common for a single scientist in a lab to take on the (formal or informal) role of software developer and to have to rely solely on web resources to acquire the relevant development knowledge.
Recent endeavors to bring the software engineering and CS&E communities together include two special issues of IEEE Software (July/August 2008 and January 2009) and this current ICSE workshop series. The 2008 workshop [http://www.ua.edu/~SECSE08 ] brought together computational scientists, software engineering researchers and software developers to explore issues such as:
Those characteristics of CS&E which distinguish it from general business software development;
The different contexts in which CS&E developments take place;
The quality goals of CS&E;
How the perceived chasm between the CS&E and software engineering communities might be bridged.
This 2009 workshop will build on the results of the previous workshop.
Similar to the format of the 2008 workshop, in addition to presentation and discussion of the accepted position papers, significant time during the 2009 workshop will be devoted to the continuation of discussions from previous workshops and to general open discussion.
We encourage submission of position papers or statements of interest from members of the software engineering and CS&E communities. Position papers of at most eight pages are solicited to address issues including but not limited to:
Case studies of software development processes used in CS&E applications.
Measures of software development productivity appropriate to CS&E applications.
Lessons learned from the development of CS&E applications.
Software engineering metrics and tool support for CS&E applications.
The use of empirical studies to better understand the environment, tools, languages, and processes used in CS&E application development and how they might be improved.
The organizing committee hopes for participation from a broad range of stakeholders from across the software engineering, computational science/engineering, and grid computing communities. We especially encourage members of the CS&E application community to submit practical experience papers. Papers on related topics are also welcome. Please contact the organizers with any questions about the relevance of particular topics. Accepted position papers will appear in the ICSE workshop proceedings and appear in the IEEExplore Digital Library.
Please observe the following:
Position papers should be at most 8 pages.
Format your paper according to the ICSE 2009 paper guidelines.