2009SMARTech Repository (Georgia Institute of Technology)Requires access

SPA: Symbolic Program Approximation for Scalable Path-sensitive Analysis

Mary Jean Harrold, Raúl Santelices

Open publisher page 2 citations

Abstract

Symbolic execution is a static-analysis technique that has been used \nfor applications such as test-input generation and change analysis. \nSymbolic execution’s path sensitivity makes scaling it difficult. \nDespite recent advances that reduce the number of paths to \nexplore, the scalability problem remains. Moreover, there are applications \nthat require the analysis of all paths in a program fragment, \nwhich exacerbate the scalability problem. In this paper, we \npresent a new technique, called Symbolic Program Approximation \n(SPA), that performs an approximation of the symbolic execution \nof all paths between two program points by abstracting away certain \nsymbolic subterms to make the symbolic analysis practical, at \nthe cost of some precision. We discuss several applications of SPA, \nincluding testing of software changes and static invariant discovery. \nWe also present a tool that implements SPA and an empirical evaluation \non change analysis and testing that shows the applicability, \neffectiveness, and potential of our technique.

About this research paper

What this paper is about

Symbolic execution is a static-analysis technique that has been used \nfor applications such as test-input generation and change analysis. \nSymbolic execution’s path sensitivity makes scaling it difficult. \nDespite recent advances that reduce the number of paths to \nexplore, the scalability problem remains. Moreover, there are applications \nthat require the analysis of all paths in a program fragment, \nwhich exacerbate the scalability problem. In this paper, we \npresent a new technique, called Symbolic Program Approximation \n(SPA), that performs an approximation of the symbolic execution \nof all paths between two program points by abstracting away certain \nsymbolic subterms to make the symbolic analysis practical, at \nthe cost of some precision. We discuss several applications of SPA, \nincluding testing of software changes and static invariant discovery. \nWe also present a tool that implements SPA and an empirical evaluation \non change analysis and testing that shows the applicability, \neffectiveness, and potential of our technique.

Why it matters

OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Symbolic execution is a static-analysis technique that has been used \nfor applications such as test-input generation and change analysis. \nSymbolic execution’s path sensitivity makes scaling it difficult. \nDespite recent advances that reduce the number of paths to \nexplore, the scalability problem remains. Moreover, there are applications \nthat require the analysis of all paths in a program fragment, \nwhich exacerbate the scalability problem. In this paper, we \npresent a new technique, called Symbolic Program Approximation \n(SPA), that performs an approximation of the symbolic execution \nof all paths between two program points by abstracting away certain \nsymbolic subterms to make the symbolic analysis practical, at \nthe cost of some precision. We discuss several applications of SPA, \nincluding testing of software changes and static invariant discovery. \nWe also present a tool that implements SPA and an empirical evaluation \non change analysis and testing that shows the applicability, \neffectiveness, and potential of our technique.

Key concepts: Symbolic execution, Computer science, Scalability, Program analysis, Symbolic trajectory evaluation, Symbolic data analysis, Concolic testing, Symbolic-numeric computation

Related papers

Back to paper searchBrowse research topicsOriginal source
SPA: Symbolic Program Approximation for Scalable Path-sensitive Analysis — Research Paper | ScholarLens