GoSonar: Detecting Logical Vulnerabilities in Memory Safe Language Using Inductive Constraint Reasoning
Md Sakib Anwar, Carter Yagemann, Zhiqiang Lin
Abstract
As the global community advocates for the adoption of memory-safe programming languages, a significant research gap persists in identifying the critical vulnerabilities that follow. Logical vulnerabilities represent the most formidable threat to these programs, in the absence of memory safety related vulnerabilities such as buffer overflow. Go, a prevalent memory-safe language for cloud-based applications where resource availability is paramount, is especially susceptible to nonter-minating, resource-exhaustive vulnerabilities. We present a novel approach to the problem, inductive constraint reasoning, designed to evaluate nontermination in complex, real-world programs, demonstrating superior performance compared to contemporary tools on a standardized dataset. Our methodology employs binary-level underconstrained symbolic execution to gather the constraints necessary for multiple recursive iterations. By applying a first-order derivative to these constraints, we model and classify various recursive functions, determining whether their subgoals converge to a global objective. This study addresses numerous challenges in the analysis of Go programs while simultaneously developing and implementing a practical solution to detect uncontrolled recursion, which has revealed 5 new vulnerabilities in the Go standard library.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 43ecf773-c51c-49d6-a90b-665f5e46e359Builds on4
- Proving non-termination by program reversalKrishnendu Chatterjee, Ehsan Kafshdar Goharshady, Petr Novotný, Dorde ZikelicPLDI 2021 · 18 citations
- Large-scale analysis of non-termination bugs in real-world OSS projectsXiuhan Shi, Xiaofei Xie, Yi Li, Yao Zhang et al.FSE 2022 · 12 citations
- Data-Driven Loop Bound Learning for Termination AnalysisRongchen Xu, Jianhui Chen, Fei HeICSE 2022 · 6 citations
- EndWatch: A Practical Method for Detecting Non-Termination in Real-World SoftwareYao Zhang, Xiaofei Xie, Yi Li, Sen Chen et al.ASE 2023 · 4 citations
Related papers
- Agentic Concolic ExecutionZhengxiong Luo, Huan Zhao, Dylan Wolff, Cristian Cadar et al.S&P 2026 · 17 citations
- Determining the Unreachable: Constraint-Guided Reachability Analysis for Dependency VulnerabilitiesWenbu Feng, Xiaohong Li, Ruitao Feng, Yao Zhang et al.OOPSLA 2026 · 1 citation
- Effective Concurrency Testing for Go via Directional Primitive-Constrained Interleaving ExplorationZongze Jiang, Ming Wen, Yixin Yang, Chao Peng et al.ASE 2023 · 6 citations
- RecurScan: Detecting Recurring Vulnerabilities in PHP Web ApplicationsYoukun Shi, Yuan Zhang, Tianhao Bai, Lei Zhang et al.WWW 2024 · 12 citations
- Can LLM Aid in Solving Constraints with Inductive Definitions?Weizhi Feng, Shidong Shen, Jiaxiang Liu, Taolue Chen et al.FM 2026
