Elements: Can Empirical SE be Adapted to Computational Science?
North Carolina State University, Raleigh NC
Investigators
Abstract
Today the computer is just as important a tool for chemists as the test tube. For example, the 2013 Nobel Prize was awarded to chemists using computer models to explore very fast chemical reactions during photosynthesis. Other scientific areas where software is used intensively are astronomy, astrophysics, chemistry, weather prediction, economics, genomics, molecular biology, oceanography, physics, political science, and many other engineering fields. It is important to ensure the quality of these software-driven fields since its results accelerate global innovations by improving quality and quantity of computational scientific studies. But many software developers in this area have not formally studied computer science or software engineering. This proposal will create SEnTRY, a workbench containing methods adapted from empirical software engineering, that would help bridge the skill gap via automatic agents by suggesting to developers when they should investigate or redo part of their code. Software is used intensively in scientific areas such as astronomy, astrophysics, chemistry, weather prediction, economics, genomics, molecular biology, oceanography, physics, political science, and many other engineering fields. It is important to ensure the quality of these software-driven fields since its results accelerate global innovations by improving quality and quantity of computational scientific studies. But many software developers in this area have not formally studied computer science or software engineering. This proposal will create SEnTRY, a workbench containing methods adapted from empirical software engineering, that would help bridge the skill gap via automatic agents by suggesting to developers when they should investigate or redo part of their code. To achieve these goals, methods developed for traditional kinds of software must be extensively adapted for computational science. For example, language models describing software defects must be created, especially for the computational science community; test case prioritization algorithms must be re-tuned to appropriately prioritize "tests" that are really "tests of scientific concepts"; and static code analysis warnings have to be re-engineered to manage the kinds of software tools used within the computational science community. To that end, this project will apply data miners, hyperparameter optimizers and active learning to project data from the computational science community. When successful, SEnTRY will reduce the associated cost (time, money, etc.) required to handle many of the large and more tedious aspects of software development. This will free up more time of the computational scientists, and allow them to focus on core scientific issues. As an additional benefit, SEnTRY will also ensure the reproducibility and credibility of the computational science researches which, in turn, will naturally encourage more adoption of current work as well as adaptation and innovation in future work. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
View original record on NSF Award Search →