Compiler technologies for understanding legacy scientific code: A case study on an ACME land module

Abstract The complexity of software systems have become a barrier for scientific model development and software modernization. In this study, we present a procedure to use compiler-based technologies to better understand complex scientific code. The approach requires no extra software installation and configuration and its software analysis can be transparent to developer and users. We designed a sample code to illustrate the data collection and analysis procedure from compiler technologies and showed a case study that used the information from interprocedure analysis to analyze a scientific function module extracted from an Earth System Model. We believe this study provides a new path to better understand legacy scientific code.

[1]  Peter E. Thornton,et al.  A Scientific Function Test Framework for Modular Environmental Model Development: Application to the Community Land Model , 2015, 2015 IEEE/ACM 1st International Workshop on Software Engineering for High Performance Computing in Science.

[2]  Peter E. Thornton,et al.  A functional test platform for the Community Land Model , 2014, Environ. Model. Softw..

[3]  Pearu Peterson,et al.  F2PY: a tool for connecting Fortran and Python programs , 2009, Int. J. Comput. Sci. Eng..

[4]  John M. Dennis,et al.  KGEN: A Python Tool for Automated Fortran Kernel Generation and Verification , 2016, ICCS.