Exposing Go's Hidden Bugs: A Novel Concolic Framework

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Gorna, Karolina, Iooss, Nicolas, Seurin, Yannick, Khatoun, Rida
Formato: Preprint
Publicado: 2025
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866917449008414720
author Gorna, Karolina
Iooss, Nicolas
Seurin, Yannick
Khatoun, Rida
author_facet Gorna, Karolina
Iooss, Nicolas
Seurin, Yannick
Khatoun, Rida
contents The widespread adoption of the Go programming language in infrastructure backends and blockchain projects has heightened the need for improved security measures. Established techniques such as unit testing, static analysis, and program fuzzing provide foundational protection mechanisms. Although symbolic execution tools have made significant contributions, opportunities remain to address the complexities of Go's runtime and concurrency model. In this work, we present Zorya, a novel methodology leveraging concrete and symbolic (concolic) execution to evaluate Go programs comprehensively. By systematically exploring execution paths to uncover vulnerabilities beyond conventional testing, symbolic execution offers distinct advantages, and coupling it with concrete execution mitigates the path explosion problem. Our solution employs Ghidra's P-Code as an intermediate representation (IR). This implementation detects runtime panics in the TinyGo compiler and supports both generic and custom invariants. Furthermore, P-Code's generic IR nature enables analysis of programs written in other languages such as C. Future enhancements may include intelligent classification of concolic execution logs to identify vulnerability patterns.
format Preprint
id arxiv_https___arxiv_org_abs_2505_20183
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Exposing Go's Hidden Bugs: A Novel Concolic Framework
Gorna, Karolina
Iooss, Nicolas
Seurin, Yannick
Khatoun, Rida
Software Engineering
Cryptography and Security
The widespread adoption of the Go programming language in infrastructure backends and blockchain projects has heightened the need for improved security measures. Established techniques such as unit testing, static analysis, and program fuzzing provide foundational protection mechanisms. Although symbolic execution tools have made significant contributions, opportunities remain to address the complexities of Go's runtime and concurrency model. In this work, we present Zorya, a novel methodology leveraging concrete and symbolic (concolic) execution to evaluate Go programs comprehensively. By systematically exploring execution paths to uncover vulnerabilities beyond conventional testing, symbolic execution offers distinct advantages, and coupling it with concrete execution mitigates the path explosion problem. Our solution employs Ghidra's P-Code as an intermediate representation (IR). This implementation detects runtime panics in the TinyGo compiler and supports both generic and custom invariants. Furthermore, P-Code's generic IR nature enables analysis of programs written in other languages such as C. Future enhancements may include intelligent classification of concolic execution logs to identify vulnerability patterns.
title Exposing Go's Hidden Bugs: A Novel Concolic Framework
topic Software Engineering
Cryptography and Security
url https://arxiv.org/abs/2505.20183