Assume(), Capture(), Verify(), Establish(): A Vocabulary for Static Program Analysis

Document Type

Conference Proceeding

Publication Date

1-1-2023

Abstract

We propose a set of functions that a user can invoke to analyze a program written in a C-like language: Assume() refers to a label in the source code or to a program part, and enables the user to make an assumption about the state of the program at some label or the function of some program part; Capture() refers to a label or a program part and returns an assertion about the state of the program at the label or the function of the program part; Verify() refers to a label or a program part and tests a unary assertion about the state of the program at the label or a binary assertion about the function of the program part; Establish() refers to a label or a program part and modifies the program code to make Verify() return TRUE at that label or program part, if it did not originally. We discuss the foundations of this tool as well as a preliminary implementation.

Identifier

85186744623 (Scopus)

ISBN

[9798350359398]

Publication Title

Proceedings 2023 IEEE 23rd International Conference on Software Quality Reliability and Security Companion Qrs C 2023

External Full Text Location

https://doi.org/10.1109/QRS-C60940.2023.00067

First Page

845

Last Page

846

Grant

DGE2043104

Fund Ref

National Science Foundation

This document is currently not available here.

Share

COinS