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...
Main Authors: | , , |
---|---|
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 |