Title: A sound abstract memory model for static analysis of C programs

Authors: Yukun Dong

Addresses: College of Computer and Communication Engineering, China University of Petroleum, Qingdao, Shandong Province, China

Abstract: Abstract memory model plays an important role in the static analysis of programs. This paper proposes a region-based symbolic three-valued logic (RSTVL) to guarantee the soundness of static analysis, which utilises abstract regions to simulate blocks of the concrete memory. RSTVL applies symbolic expressions to express the value of memory objects, and the interval domain to describe the value of each symbol of symbolic expressions. Various operations for memory objects can be mapped to operations about regions. As a sound abstract memory model, RSTVL can describe the shape information of data structure in memory and the storage state of memory objects for C programs, and a variety of associative addressable expressions, including the point-to relations, hierarchical and valued logic relations. We have built a prototype tool DTSC_RSTVL that detects code level defects in C programs. Five popular C programs are analysed, the results indicate that the analysis is sufficiently sound to detect code level defects with zero false negative rate.

Keywords: software quality; static analysis; abstract memory model; memory object; defect detects.

DOI: 10.1504/IJCSE.2018.091782

International Journal of Computational Science and Engineering, 2018 Vol.16 No.3, pp.255 - 264

Received: 01 Feb 2016
Accepted: 27 Aug 2016

Published online: 16 May 2018 *

Full-text access for editors Full-text access for subscribers Purchase this article Comment on this article