Infeasible Path Detection Based on Code Pattern and Backward Symbolic Execution

This paper sets out to reveal the relationship between code pattern and infeasible paths and gives advices to the selection of infeasible path detection techniques. Lots of program paths are proved to be infeasible, which leads to imprecision and low efficiency of program analysis. Detection of infe...

Full description

Bibliographic Details
Main Authors: Yang Song, Xuzhou Zhang, Yun-Zhan Gong
Format: Article
Language:English
Published: Hindawi Limited 2020-01-01
Series:Mathematical Problems in Engineering
Online Access:http://dx.doi.org/10.1155/2020/4258291
id doaj-2c83a84dd4a9423e9d35a79c5339a3d4
record_format Article
spelling doaj-2c83a84dd4a9423e9d35a79c5339a3d42020-11-25T02:49:15ZengHindawi LimitedMathematical Problems in Engineering1024-123X1563-51472020-01-01202010.1155/2020/42582914258291Infeasible Path Detection Based on Code Pattern and Backward Symbolic ExecutionYang Song0Xuzhou Zhang1Yun-Zhan Gong2Beijing University of Posts and Telecommunications, Beijing, ChinaBeijing University of Posts and Telecommunications, Beijing, ChinaBeijing University of Posts and Telecommunications, Beijing, ChinaThis paper sets out to reveal the relationship between code pattern and infeasible paths and gives advices to the selection of infeasible path detection techniques. Lots of program paths are proved to be infeasible, which leads to imprecision and low efficiency of program analysis. Detection of infeasible paths is required in many areas of software engineering including test coverage analysis, test case generation, and security vulnerability analysis. The immediate cause of path infeasibility is the contradiction of path constraints, whose distribution will affect the performance of different program analysis techniques. But there is a lack of research on the distribution of contradict constraints currently. We propose a code pattern based on the empirical study of infeasible paths; the statistical result proves the correlation of the pattern with contradict constraints. We then develop a path feasibility detection method based on backward symbolic execution. Performance of the proposed technique is evaluated from two aspects: the efficiency of detecting infeasibility paths for specific program element and the improvement of applying the technique on code coverage testing.http://dx.doi.org/10.1155/2020/4258291
collection DOAJ
language English
format Article
sources DOAJ
author Yang Song
Xuzhou Zhang
Yun-Zhan Gong
spellingShingle Yang Song
Xuzhou Zhang
Yun-Zhan Gong
Infeasible Path Detection Based on Code Pattern and Backward Symbolic Execution
Mathematical Problems in Engineering
author_facet Yang Song
Xuzhou Zhang
Yun-Zhan Gong
author_sort Yang Song
title Infeasible Path Detection Based on Code Pattern and Backward Symbolic Execution
title_short Infeasible Path Detection Based on Code Pattern and Backward Symbolic Execution
title_full Infeasible Path Detection Based on Code Pattern and Backward Symbolic Execution
title_fullStr Infeasible Path Detection Based on Code Pattern and Backward Symbolic Execution
title_full_unstemmed Infeasible Path Detection Based on Code Pattern and Backward Symbolic Execution
title_sort infeasible path detection based on code pattern and backward symbolic execution
publisher Hindawi Limited
series Mathematical Problems in Engineering
issn 1024-123X
1563-5147
publishDate 2020-01-01
description This paper sets out to reveal the relationship between code pattern and infeasible paths and gives advices to the selection of infeasible path detection techniques. Lots of program paths are proved to be infeasible, which leads to imprecision and low efficiency of program analysis. Detection of infeasible paths is required in many areas of software engineering including test coverage analysis, test case generation, and security vulnerability analysis. The immediate cause of path infeasibility is the contradiction of path constraints, whose distribution will affect the performance of different program analysis techniques. But there is a lack of research on the distribution of contradict constraints currently. We propose a code pattern based on the empirical study of infeasible paths; the statistical result proves the correlation of the pattern with contradict constraints. We then develop a path feasibility detection method based on backward symbolic execution. Performance of the proposed technique is evaluated from two aspects: the efficiency of detecting infeasibility paths for specific program element and the improvement of applying the technique on code coverage testing.
url http://dx.doi.org/10.1155/2020/4258291
work_keys_str_mv AT yangsong infeasiblepathdetectionbasedoncodepatternandbackwardsymbolicexecution
AT xuzhouzhang infeasiblepathdetectionbasedoncodepatternandbackwardsymbolicexecution
AT yunzhangong infeasiblepathdetectionbasedoncodepatternandbackwardsymbolicexecution
_version_ 1715379461364383744