0 cumulative citations
View corpus contextAgentic AI guided by static analysis can rework legacy bioinformatics software into Rust at scale, shrinking binaries and often speeding key computations; the authors converted ~35 packages with notable size, build-time and runtime gains, but manual auditing and selective benchmarking mean results warrant independent replication.
Citation observations
Cumulative provider counts captured on specific dates; providers are never combined.
The field of bioinformatics struggles with legacy code - old code that is commonly used but may no longer have a maintainer, or may be written in an now-unfamiliar language (e.g. Perl, Fortran). This incurs maintenance cost (technical debt), but dynamically typed languages also negatively impacts the environment and fail to make use of modern hardware. Legacy code may also have security or safety problems that make it unsuited for use in clinical settings. Here we show that agentic AI, combined with static analysis, can be used to translate legacy code to the modern language Rust. We provide prompts and supporting software to aid systematic translation, and evaluate it on common software for NGS and imaging. We showcase the result on our software Bascet: Size was reduced by ~80x, build time decreased by ~10x, and performance of key steps improved >3x. Unix dependencies were also removed, making Bascet the only single-cell pipeline able to run on native Windows, without a container. Large-scale refactoring of bioinformatics software is thus now possible at a limited budget, enabling more complex tools to be developed.
Summary
Main Finding
Agentic AI (Claude and Codex) guided by static analysis can systematically translate large legacy bioinformatics codebases into idiomatic Rust, producing working, often faster, smaller, and more portable software. This approach enabled translation and optimization of dozens of packages (35/40 attempted), and produced major improvements in at least one flagship pipeline (Bascet): ~80× smaller size, ~10× faster builds, and >3× speedups on key steps, while removing Unix-only dependencies to enable native Windows execution.
Key Points
- Problem addressed: Bioinformatics suffers from high technical debt (legacy Perl/R/Python/Fortran/Java/C/C++), poor cross-platform interoperability, inefficient resource use, and security concerns for clinical deployment.
- Core approach: combine agentic LLM-based code translation with classic static-analysis tooling and a conservative 1:1 function translation principle to preserve semantics and enable auditing.
- Agents used: Claude (GUI, auditing, some refactor) and Codex/GPT-5.x (primary conservative translator). Work done over ~11 weeks using paid subscriptions; heavy token use (examples: jpegxr initial pass ≈10 hr and ~15M tokens).
- Translation workflow (typical): (1) static analysis & scaffold; (2) first complete translation; (3) synthetic-data testing; (4) real-data testing; (5) benchmarking & optimization; (6) cleanup; (7) add idiomatic Rust API.
- Static-analysis support developed: Treesitter-based parsing plus tools:
- CCC (Code Complexity Comparator): compare call graphs, cyclomatic complexity, symbols, and generate function mapping.
- tracehash: instrument functions to hash inputs/outputs for behavioral comparison.
- gdbtv: lockstep GDB sessions to compare runtime traces (bisimulation-style).
- Translation principles enforced: one original function → one Rust function, preserve function logic and code structure, fill stubs to enable bottom-up translation following the call graph.
- Outcomes: 35 packages across imaging, NGS, and libraries reached production-ready status for early adopters. Rust translations often matched or exceeded original speed and frequently reduced memory (RSS), though gains varied by original language and hand-optimization required for C/C++ origins.
- Common failure modes & mitigations: agents sometimes reorder expressions, choose wrong types, introduce algorithmic simplifications, or introduce needless copies and memory leaks. These were mitigated by conservative prompts, static-analysis checks, per-file systematic audits, parallel subagents, and benchmarking.
- Limitations: agentic translations are not fully reliable without systematic static verification and human audit; initial translations can be non-idiomatic or unsafe; benchmarking heterogeneity and agent-produced metadata (e.g., LOC or package counts) are approximate.
Data & Methods
- Translation corpus: ~40 attempts across microbial/NGS upstream of Bascet, imaging/spatial-omics tools, and upstream libraries (compression, file formats). 35 completed to tested/benchmarked state.
- Agents & compute: Claude Max 20x subscription (11 weeks), Codex Pro (two subscriptions, 8 weeks). Agents evolved during the project (Codex/GPT-5.5 preferred for initial conservative translation; Claude for GUI and difficult bugs). Heavy token usage (example: 15M tokens for one 31kLOC jpegxr initial translation).
- Tooling:
- Syntax parsing: Tree-sitter for AST extraction.
- Static analysis suite: CCC, tracehash, gdbtv (gdb-translation-verifier-rs).
- Testing: synthetic and real-data tests comparing outputs to originals; per-file auditing checklist (TOAUDIT.md) requiring two consecutive clean audits.
- Benchmarks: Performed on an Intel Xeon Gold 6138 (2.00 GHz), 192 GB RAM. Agents created benchmark suites; Codex used for final benchmarks to reduce bias. Benchmarks focused on speed, RSS, and parity with original outputs; results interpreted qualitatively because of heterogenous targets and benchmark setups.
- Example quantitative highlights:
- Bascet pipeline: ~80× binary size reduction, ~10× faster build, >3× speedups on key steps, native Windows execution without containers.
- jpegxr (C++, ~31k LOC): initial translation and verification in <20 hours with later idiomatic conversion steps.
- Project-level estimates produced by agents (to be taken cautiously): ~700k Rust LOC across translated code; ~2,000–3,500 transitive upstream packages (agent-derived).
Implications for AI Economics
- Labor substitution and augmentation
- Substitution: Agentic translation materially reduces time and specialized human labor required to port and modernize legacy code, lowering the marginal cost of converting large codebases to modern languages (Rust). This suggests downward pressure on demand for large teams of manual porters for routine translation tasks.
- Augmentation: New high-value roles emerge—prompt engineers, static-analysis/tooling developers, verification engineers, and domain experts to audit and certify translations (especially for clinical/regulated use). The net effect is a shift in labor demand from implementation to oversight, verification, and tooling.
- Productivity and scale effects
- Productivity gains: Faster builds, smaller binaries, and improved runtime efficiency reduce developer friction and operating costs; groups can potentially consolidate languages and toolchains, lowering coordination/interop costs.
- Scale and returns to AI: Larger organizations or teams that can afford extensive agent subscriptions and compute may capture outsized benefits (faster migration, better tooling), creating increasing returns to scale and potential consolidation advantages.
- Cost structure and capital intensity
- Upfront compute/subscription costs: The approach relies on paid agent access and substantial token use; however, these costs can be offset by reduced maintenance costs, lower infrastructure (lighter binaries, fewer containers), and efficiency gains.
- Environmental economics: Moving workloads from interpreted languages (R/Python/Matlab) to compiled Rust can materially reduce runtime energy consumption for many workloads—an externality with economic and regulatory relevance.
- Quality, safety, and regulatory value
- Risk mitigation value: Translating to Rust can improve memory-safety and reduce exploitable vulnerabilities—valuable in clinical or production contexts where security and correctness have high economic value.
- Verification market: Because agentic translation is imperfect, demand will grow for independent verification services, provenance/audit tooling, and standards for AI-assisted code modernization—representing a new market niche.
- Market and competitive dynamics
- Platform concentration risk: Firms with proprietary advanced models, tooling, or static-analysis ecosystems could dominate modernization services, creating winner-take-most dynamics unless open toolchains and community standards emerge.
- Open-source amplification: If democratized (open prompts, static-analysis tools), AI-assisted translation could massively lower barriers to software modernization across research communities, accelerating diffusion of efficient software and shifting competitive advantages toward smaller groups that adopt it early.
- Policy and investment considerations
- Public R&D funding and training should pivot: invest in verification frameworks, standardized benchmarks, and training bioinformaticians in AI-assisted workflows and audit skills rather than relying solely on low-level language expertise.
- Regulatory guidance: Clinical/regulated domains will need clear guidelines for provenance, validation, and certification of AI-translated code to reap the economic benefits without compromising safety.
Caveats - Results are promising but not turnkey: substantial human oversight, per-file auditing, static verification, and domain testing remain necessary—especially for safety-critical applications. - Reported quantitative estimates were sometimes generated by the agents themselves and should be treated as approximate. - Economic impacts depend on agent access costs, model capabilities, and institutional uptake; heterogeneity across projects will persist.
Assessment
Claims (12)
| Claim | Direction | Outcome | Confidence & Evidence | Details |
|---|---|---|---|---|
| Agentic AI combined with static analysis can translate legacy bioinformatics software into Rust, but the approach does not succeed for every attempted codebase. Organizational Efficiency | positive | Feasibility and completion of legacy-software translation |
Reading fidelity
high
Study strength
medium
|
n=40
35 of approximately 40 translation attempts
|
| The Rust translation of Bascet reduced software size by approximately 80-fold. Organizational Efficiency | positive | Software size |
Reading fidelity
high
Study strength
low
|
n=1
~80x reduction
|
| The Rust translation of Bascet decreased build time by approximately tenfold. Task Completion Time | positive | Build time |
Reading fidelity
high
Study strength
low
|
n=1
~10x decrease
|
| The Rust translation of Bascet improved the performance of key steps by more than threefold. Task Completion Time | positive | Performance of key Bascet processing steps |
Reading fidelity
high
Study strength
low
|
n=1
>3x improvement
|
| The translated Bascet software removed Unix dependencies and could run natively on Windows without a container. Organizational Efficiency | positive | Cross-platform software deployability |
Reading fidelity
high
Study strength
low
|
n=1
|
| Across the translated software, Rust matched or exceeded the speed of the original implementation in most cases. Task Completion Time | positive | Execution speed |
Reading fidelity
high
Study strength
medium
|
n=35
|
| Performance improvements from translation varied substantially by software, with highly optimized C/C++ programs requiring considerably more work to reach speed parity. Task Completion Time | mixed | Execution speed relative to the original implementation |
Reading fidelity
high
Study strength
medium
|
n=35
|
| Memory usage reductions from Rust translation varied substantially across software packages. Organizational Efficiency | mixed | Resident set size (RSS) and memory usage |
Reading fidelity
high
Study strength
medium
|
n=35
|
| Static-analysis tools such as CCC and tracehash improved the translation workflow but were insufficient to eliminate all translation errors. Error Rate | mixed | Translation error detection and residual error rate |
Reading fidelity
high
Study strength
medium
|
not reported
|
| Systematic per-file audits and repeated checks did not remove all translation errors; testing on real data still revealed additional problems. Error Rate | negative | Residual translation errors after auditing |
Reading fidelity
high
Study strength
medium
|
n=1
|
| Naive AI translation prompts produced incomplete or substantially simplified code and introduced bugs. Output Quality | negative | Feature preservation and correctness of translated code |
Reading fidelity
high
Study strength
low
|
not reported
|
| The latest reported translation, jpegxr, containing 31,000 lines of C++ code, was translated and verified in less than 20 hours. Task Completion Time | positive | Translation and verification time |
Reading fidelity
high
Study strength
low
|
n=1
<20 hours
|