Software Engineering for Scientific Computing

 

Applications from the so-called 'Computational Domains' are becoming more and more complex, and thus have opened the door to many new possibilities but also to new challenges concerning software development. These applications are developed for simulation of scientific phenomena, engineering designs, scientific visualization and many other important problems that usually invovle enormous data set, complex modelling and calculations. High Performance Computing (HPC) is often associated with such applications to solve advanced computation problems.

Design, implementation, development, and maintenance of scientific software differ in several ways from traditional software engineering, as the major focus is on performance over the complexity management of software applications. The main goals of scientific software are to evaluate the scientific computing approaches and generating the computation results. Therefore, most of the time and efforts are applied on how to achieve accurate and stable results while efficiently utilizing the computational power. On the other hand, the comprehensibility, maintainability, reusability and extensibility of the software remains a minor issue of concern.

We research how software engineering methods and tools can be applied and adapted to assist scientific computing. We are mainly focusing on the following areas:

  • Requirements engineering for scientific computing projects
  • Bug tracking practices for scientific computing
  • Agile methods for high performance computing projects

On-going Projects

 

Reference

  1. International Workshop on Software Engineering for Computational Science and Engineering http://www.cs.ua.edu/~SECSE11/index.htm
  2. Hoda Naguib,  Yang Li
    (Position Paper) Applying software engineering methods and tools to CSE research projects
    in Procedings of ICCS 2010 Volume 1, Issue 1, May 2010, Pages 1505-1509
  3. Yang Li,  Nitesh Narayan,  Jonas Helming,  Maximilian Koegel
    A Domain Specific Requirements Model for Scientific Computing
    In the proceedings of New Ideas and Emerging Results (NIER) track, ICSE 2011, Hawaii