Next Article In Issue>
Volume 4, Issue 3, July 2016, Pages 137 - 144
MLSA: a static bugs analysis tool based on LLVM IR
Authors
Hongliang Liang, Lei Wang, Dongyang Wu, Jiuyun Xu
Corresponding Author
Hongliang Liang
Available Online 1 July 2016.
- DOI
- 10.2991/ijndc.2016.4.3.1How to use a DOI?
- Keywords
- symbolic execution; bug detection; static program analysis; LLVM IR; SMT solver
- Abstract
Program bugs may result in unexpected software error, crash or serious security attack. Static program analysis is one of the most common methods to find program bugs. In this paper we present MLSA -- a static analysis tool based on LLVM Intermediate Representation (IR), which can analyze programs written in multiple programming languages. MLSA combines symbolic execution with Z3 SMT solver to find bugs. At present, MLSA can detect some kinds of bugs, such as divide zero error, pointer overflow and dead code. Moreover, as a framework, MLSA follows the scalability and extensibility principles, which can help detect other types of bugs. Experiments show that MLSA is effective in finding bugs in real world software.
- Copyright
- © 2017, the Authors. Published by Atlantis Press.
- Open Access
- This is an open access article distributed under the CC BY-NC license (http://creativecommons.org/licenses/by-nc/4.0/).
Next Article In Issue>
Cite this article
TY - JOUR AU - Hongliang Liang AU - Lei Wang AU - Dongyang Wu AU - Jiuyun Xu PY - 2016 DA - 2016/07/01 TI - MLSA: a static bugs analysis tool based on LLVM IR JO - International Journal of Networked and Distributed Computing SP - 137 EP - 144 VL - 4 IS - 3 SN - 2211-7946 UR - https://doi.org/10.2991/ijndc.2016.4.3.1 DO - 10.2991/ijndc.2016.4.3.1 ID - Liang2016 ER -