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.
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 *