Developing Guidelines and Utilities for Rewriting Scientific Computing Applications with Modern Programming Languages(2/3)

Project Details


Although recently modern programming languages have provided rich support for scientific computing, to programmers in scientific domain, there are still many difficulties in rewriting their programs that have been written with traditional programming languages such as Fortran for a long time. In fact, there is no strong motivation for many scientists nowadays to use traditional programming languages. Modern programming languages like Python support more and more new features that help programmers to write clear code with better abstraction, which can clearly show programmers’ intention and is easier to use and maintain. Several modern programming languages also come along with high-performance underlying libraries, which greatly allay the concern for performance. However, even though younger generation scientists prefer modern programming languages, they are forced to maintain the code in traditional programming languages due to the threshold and difficulties in rewriting. Unfortunately, the need for rewriting is getting urgent, while the cost of rewriting becomes more and more expensive. Scientific programmers have to modify their computing applications to extend the functionality, optimize the performance, and handle huge data. The code written in traditional programming languages usually lack not only comments but also abstraction inherently, which stop scientific programmers from understanding and maintaining the code. This project targets at developing guidelines and utilities for rewriting scientific computing applications by executing a series of research processes. We are co-working with scientist groups to induce rewriting guidelines, and further develop supporting utilities. Our research result can be an example of approaches for scientific programmers to rewrite computing applications for logic refining, high-performance computing, large data handling, domain-specific libraries constructing, and further processing.
Effective start/end date1/08/1931/07/20

UN Sustainable Development Goals

In 2015, UN member states agreed to 17 global Sustainable Development Goals (SDGs) to end poverty, protect the planet and ensure prosperity for all. This project contributes towards the following SDG(s):

  • SDG 12 - Responsible Consumption and Production
  • SDG 13 - Climate Action
  • SDG 17 - Partnerships for the Goals


  • scientific computing
  • domain-specific language
  • high-performance computing
  • code rewriting


Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.