Software Development Environments for Scientific and Engineering Software: A Series of Case Studies

The need for high performance computing applications for computational science and engineering projects is growing rapidly, yet there have been few detailed studies of the software engineering process used for these applications. The DARPA High Productivity Computing Systems Program has sponsored a series of case studies of representative computational science and engineering projects to identify the steps involved in developing such applications (i.e. the life cycle, the workflows, technical challenges, and organizational challenges). Secondary goals were to characterize tool usage and identify enhancements that would increase the programmers' productivity. Finally, these studies were designed to develop a set of lessons learned that can be transferred to the general computational science and engineering community to improve the software engineering process used for their applications. Nine lessons learned from five representative projects are presented, along with their software engineering implications, to provide insight into the software development environments in this domain.

[1]  M. Hammersley Using qualitative methods , 1981 .

[2]  J. J. Whelan,et al.  5th international conference on software engineering , 1981, SOEN.

[3]  R. Yin Case Study Research: Design and Methods , 1984 .

[4]  David N. Card,et al.  Empirical Study of Software Design Practices , 2004 .

[5]  Victor R. Basili,et al.  An Empirical Study of Communication in Code Inspections , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[6]  Walter F. Tichy,et al.  Case study: extreme programming in a university environment , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[7]  Philip Johnson Workshop on software engineering for high performance computing system (HPCS) applications , 2004, Proceedings. 26th International Conference on Software Engineering.

[8]  Douglass E. Post,et al.  Software Project Management and Quality Engineering Practices for Complex, Coupled Multiphysics, Massively Parallel Computational Simulations: Lessons Learned From ASCI , 2004, Int. J. High Perform. Comput. Appl..

[9]  Susan Elliott Sim,et al.  Case studies for software engineers , 2005, Proceedings. 26th International Conference on Software Engineering.

[10]  Jean Hartley,et al.  Case study research , 2004 .

[11]  Jeffrey C. Carver,et al.  Empirical study design in the area of high-performance computing (HPC) , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[12]  D. E. Post,et al.  HPC needs a tool strategy , 2005, SE-HPCS '05.

[13]  R. P. Kendall,et al.  Case study of the Falcon code project , 2005, SE-HPCS '05.

[14]  Jeffrey C. Carver,et al.  Parallel Programmer Productivity: A Case Study of Novice Parallel Programmers , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[15]  Philip M. Johnson,et al.  Second international workshop on software engineering for high performance computing system applications , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[16]  Jeffrey C. Carver,et al.  observations about Software development for High End Computing , 2006 .

[17]  Jeffrey C. Carver,et al.  Development of a Weather Forecasting Code: A Case Study , 2008, IEEE Software.