Scientific Repository Modernization System

Created by team Yoan Trendafilov on September 26, 2026

Scientific software often outlives the conditions under which it was originally written. Research laboratories accumulate Python scripts, C++ utilities, C# applications, browser tools, REST services, instrument-specific parsers, and undocumented processing pipelines. These tools may still produce scientifically valid results, but they become increasingly difficult to maintain, reproduce, test, or safely modernize. Our project, Scientific Repository Modernization System, addresses this problem by combining AI-assisted software modernization with explicit preservation of scientific meaning. The central concept is a Scientific Contract: a machine-readable description of what a scientific component is expected to do. It records its inputs, outputs, physical quantities and units, scientific assumptions, formulas and transformations, QA/QC rules, reference outputs, numerical tolerances, dependencies, and which parts of the implementation may be safely refactored. The workflow first analyzes a repository and classifies its scientific components and data flows. It then builds or assists the researcher in defining Scientific Contracts for important processing stages. These contracts become constraints for modernization tasks performed with IBM Bob. After Bob modifies the code, the system compares the new implementation against reference data and contract-defined tolerances instead of relying only on conventional software tests. Target users are researchers, laboratory engineers, scientific programmers, and research groups maintaining long-lived data-processing software. A user provides an existing repository, reviews the detected scientific workflows and generated contracts, approves modernization tasks, and receives improved code together with tests, dependency information, documentation, and reproducibility checks. Our real-world testcase is the IE-BAS Environmental Data Tools Repository, containing heterogeneous Python, C++, C#, HTML/JavaScript, and REST/JSON tools used for atmospheric and environmental data processing, including instrument data conversion and analysis workflows. The key distinction from generic AI code modernization is that our system treats scientific validity as an explicit engineering constraint. Code can change substantially while validated scientific outputs, units, assumptions, and numerical behavior remain controlled and testable. This makes AI-assisted modernization substantially safer and more useful for research software where a program can compile successfully and still produce scientifically incorrect results.

Category tags: