Towards optimal concolic testing

Concolic testing integrates concrete execution (e.g., random testing) and symbolic execution for test case generation. It is shown to be more cost-effective than random testing or symbolic execution sometimes. A concolic testing strategy is a function which decides when to apply random testing or sy...

Full description

Saved in:
Bibliographic Details
Main Authors: WANG, Xinyu, SUN, Jun, CHEN, Zhenbang, ZHANG, Peixin, WANG, Jingyi, LIN, Yun
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2018
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/4652
https://ink.library.smu.edu.sg/context/sis_research/article/5655/viewcontent/3180155.3180177.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-5655
record_format dspace
spelling sg-smu-ink.sis_research-56552020-01-02T08:22:23Z Towards optimal concolic testing WANG, Xinyu SUN, Jun CHEN, Zhenbang ZHANG, Peixin WANG, Jingyi LIN, Yun Concolic testing integrates concrete execution (e.g., random testing) and symbolic execution for test case generation. It is shown to be more cost-effective than random testing or symbolic execution sometimes. A concolic testing strategy is a function which decides when to apply random testing or symbolic execution, and if it is the latter case, which program path to symbolically execute. Many heuristics-based strategies have been proposed. It is still an open problem what is the optimal concolic testing strategy. In this work, we make two contributions towards solving this problem. First, we show the optimal strategy can be defined based on the probability of program paths and the cost of constraint solving. The problem of identifying the optimal strategy is then reduced to a model checking problem of Markov Decision Processes with Costs. Secondly, in view of the complexity in identifying the optimal strategy, we design a greedy algorithm for approximating the optimal strategy. We conduct two sets of experiments. One is based on randomly generated models and the other is based on a set of C programs. The results show that existing heuristics have much room to improve and our greedy algorithm often outperforms existing heuristics. 2018-06-03T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/4652 info:doi/10.1145/3180155.3180177 https://ink.library.smu.edu.sg/context/sis_research/article/5655/viewcontent/3180155.3180177.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Computer Engineering Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Computer Engineering
Software Engineering
spellingShingle Computer Engineering
Software Engineering
WANG, Xinyu
SUN, Jun
CHEN, Zhenbang
ZHANG, Peixin
WANG, Jingyi
LIN, Yun
Towards optimal concolic testing
description Concolic testing integrates concrete execution (e.g., random testing) and symbolic execution for test case generation. It is shown to be more cost-effective than random testing or symbolic execution sometimes. A concolic testing strategy is a function which decides when to apply random testing or symbolic execution, and if it is the latter case, which program path to symbolically execute. Many heuristics-based strategies have been proposed. It is still an open problem what is the optimal concolic testing strategy. In this work, we make two contributions towards solving this problem. First, we show the optimal strategy can be defined based on the probability of program paths and the cost of constraint solving. The problem of identifying the optimal strategy is then reduced to a model checking problem of Markov Decision Processes with Costs. Secondly, in view of the complexity in identifying the optimal strategy, we design a greedy algorithm for approximating the optimal strategy. We conduct two sets of experiments. One is based on randomly generated models and the other is based on a set of C programs. The results show that existing heuristics have much room to improve and our greedy algorithm often outperforms existing heuristics.
format text
author WANG, Xinyu
SUN, Jun
CHEN, Zhenbang
ZHANG, Peixin
WANG, Jingyi
LIN, Yun
author_facet WANG, Xinyu
SUN, Jun
CHEN, Zhenbang
ZHANG, Peixin
WANG, Jingyi
LIN, Yun
author_sort WANG, Xinyu
title Towards optimal concolic testing
title_short Towards optimal concolic testing
title_full Towards optimal concolic testing
title_fullStr Towards optimal concolic testing
title_full_unstemmed Towards optimal concolic testing
title_sort towards optimal concolic testing
publisher Institutional Knowledge at Singapore Management University
publishDate 2018
url https://ink.library.smu.edu.sg/sis_research/4652
https://ink.library.smu.edu.sg/context/sis_research/article/5655/viewcontent/3180155.3180177.pdf
_version_ 1770574950796623872