AtoMig: Automatically Migrating Millions Lines of Code from TSO to WMM
Martin Beck, Koustubha Bhat, Lazar Stricevic, Geng Chen, Diogo Behrens, Ming Fu, Viktor Vafeiadis, Haibo Chen, Hermann Härtig
摘要
CPUs with weak memory-consistency models (WMMs), such as Arm and RISC-V, are rapidly increasing their market share. Porting legacy x86 applications to such CPUs requires introducing extra synchronization to prevent WMM-related concurrency bugs-a task often left to human experts.
Given the rarity of such experts and the enormous size of legacy applications, we develop AtoMig, an effective, fully automated tool for porting large, real-world applications to WMM CPU architectures. AtoMig detects shared memory access patterns with novel static analysis strategies and performs program transformations to properly protect them from WMM effects. In the absence of sufficiently scalable verification methods, AtoMig shows practicality of focusing on code patterns more prone to WMM faults, trading off completeness for scalability.
We validate the correctness of AtoMig's transformations on several small concurrent benchmarks via model checking. We demonstrate the scalability and performance of our approach by applying AtoMig to popular real-world large code bases with up to millions of lines of code, viz., MariaDB, PostgreSQL, SQLite, LevelDB, and Memcached. As part of this work, we also found a WMM bug in MariaDB, which AtoMig fixes automatically.
• Software and its engineering → Consistency; Automated static analysis; • Theory of computation → Concurrency.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper4
- Polynima: Practical Hybrid Recompilation for Multithreaded BinariesChinmay Deshpande, Fabian Parzefall, Felicitas Hetzelt, Michael FranzEuroSys 2024 · 被引用 3 次
- Arancini: A Hybrid Binary Translator for Weak Memory Model ArchitecturesSebastian Reimers, Dennis Sprokholt, Martin Fink, Theofilos Augoustis 等ASPLOS 2026 · 被引用 1 次
- No More Translation at Runtime: LLM-Empowered Static Binary TranslationZhibo Liu, Huaijin Wang, Wai Kin Wong, Daoyuan Wu 等EuroSys 2026 · 被引用 1 次
- Arm Weak Memory Consistency on Apple Silicon: What Is It Good For?Yossi Khayet, Adam MorrisonASPLOS 2026
它引用的顶会 Paper4
- VSync: push-button verification and optimization for synchronization primitives on weak memory modelsJonas Oberhauser, Rafael Lourenco de Lima Chehab, Diogo Behrens, Ming Fu 等ASPLOS 2021 · 被引用 40 次
- HMC: Model Checking for Hardware Memory ModelsMichalis Kokologiannakis, Viktor VafeiadisASPLOS 2020 · 被引用 29 次
- Lasagne: a static binary translator for weak memory model architecturesRodrigo C. O. Rocha, Dennis Sprokholt, Martin Fink, Redha Gouicem 等PLDI 2022 · 被引用 21 次
- No barrier in the road: a comprehensive study and optimization of ARM barriersNian Liu, Binyu Zang, Haibo ChenPPoPP 2020 · 被引用 10 次
相关 Paper
- Rely/Guarantee Reasoning for Multicopy Atomic Weak Memory ModelsNicholas Coughlin, Kirsten Winter, Graeme SmithFM 2021 · 被引用 16 次
- LLM Assistance for Memory SafetyJ. Nausheen Mohammed, Akash Lal, Aseem Rastogi, Rahul Sharma 等ICSE 2025 · 被引用 4 次
- RELINCHE: Automatically Checking Linearizability under Relaxed Memory ConsistencyPavel Golovin, Michalis Kokologiannakis, Viktor VafeiadisPOPL 2025 · 被引用 4 次
- Concrat: An Automatic C-to-Rust Lock API Translator for Concurrent ProgramsJaemin Hong, Sukyoung RyuICSE 2023 · 被引用 17 次
- CLoF: A Compositional Lock Framework for Multi-level NUMA SystemsRafael Lourenco de Lima Chehab, Antonio Paolillo, Diogo Behrens, Ming Fu 等SOSP 2021 · 被引用 6 次
