News: Best papers will be invited to submit an extended version for a special issue of Computing in Science and Engineering.
This workshop is concerned with identifying and understanding the unique aspects of software development for Computational Science & Engineering (CSE) applications. Specifically, we are focused on:
- Scientific or engineering software applications, where the focus is on directly solving scientific or engineering problems. These applications range from large, parallel models/simulations of the physical world using high performance computing systems to smaller scale simulations developed by a single scientist or engineer on a desktop machine.
- Applications that support scientific endeavors. Such applications include, but are not limited to, systems for managing and/or manipulating large amounts of data and systems that provide infrastructure for scientific or engineering applications.
- CSE 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.
- A CSE project’s lifecycle is likely to differ from traditional models. For example, in one workflow (“lone researcher”), a single scientist develops software to test a hypothesis and then discards the software. As another example, some projects can last ten years or more and are in constant development throughout.
- 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.
- Many CSE software developers are experts – often with a PhD in the underlying scientific or engineering domain – but have little formal training in SE tools and techniques. It’s not uncommon for a single scientist to take on the role of software developer and rely solely on the internet to acquire relevant software development knowledge.
Therefore, in order to identify and develop appropriate methods, tools and techniques for CSE software, members of the SE community must interact with members of the CSE community. There is an increasing amount of attention being given to this effort. Recent endeavors to bring the SE and CSE communities together include two special issues of IEEE Software (July/August 2008 and January/February 2009) a special issue of Computing in Science and Engineering (November/December 2009) and this current SECSE workshop series. The 2008 workshop, 2009 workshop, and 2010 workshop 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.
Similar to the format of the 2010 workshop, in addition to short presentations and discussions of the accepted position papers, significant time will be devoted to the continuation of discussions from previous workshops and to general open discussion. Topics that were discussed in previous workshops include:
- Unique characteristics of CSE software that affect software development choices.
- Appropriate context dimensions to describe CSE software.
- Major software quality goals of CSE software.
- Crossing the communication chasm between SE and CSE.
- Measuring the impact of SE on scientific productivity.
- How to effectively test CSE software.
- CSE Software development tool and method needs.
Last Updated on March 1, 2011 by Jeffrey Carver