Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Dependence guided symbolic execution
Wang H., Liu T., Guan X., Shen C., Zheng Q., Yang Z. IEEE Transactions on Software Engineering43 (3):252-271,2017.Type:Article
Date Reviewed: Jun 23 2017

To make the developer’s life easier, many tools have been created for analyzing source code. Such analysis can be used, for example, to detect bugs, to check the coverage of a set of tests, or even to generalize testing by using symbolic variables in execution. This latter point, symbolic execution, explores all the paths of a given code snippet and generates the test inputs. Symbolic execution is a technique that helps evaluate whether certain formulas and properties defined in the code are satisfiable; for example, is this code reachable? Such properties are usually given using logics.

However, programs are complex. The practical usage of symbolic execution is jeopardized by the problem of path explosion, that is, “the number of explored paths usually grows exponentially with the increase of program size.” Even a program of medium size (around 4,000 lines of code) becomes very hard to handle.

The authors’ intuition is that some paths are not necessarily useful to be explored, since their behavior can be assimilated by other paths, effectively creating a path dependency. Their approach is to exploit such dependencies to “guide path exploration so that the redundant paths can be predicted and eliminated.” The authors also prove that their approach has the same fault detection capabilities as traditional symbolic execution techniques, assuming a code style is defined.

The paper contains a very useful part on related works, which readers who are less familiar with the technique may use to get further links to research papers and tools. The authors provide the source code of the experiments and their implementation has been executed with a suite, widely used as input for software testing and fault localization tasks.

Reviewer:  Massimiliano Masi Review #: CR145372 (1709-0614)
Bookmark and Share
  Featured Reviewer  
 
Symbolic Execution (D.2.5 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Symbolic Execution": Date
Applications of symbolic evaluation
Clarke L., Richardson D. Journal of Systems and Software 5(1): 15-35, 1985. Type: Article
Nov 1 1985
Symbolic evaluation as a basis for integrated validation
Ploedereder E.  Software validation: inspection-testing-verification-alternatives (, Darmstadt, West Germany,1851984. Type: Proceedings
Dec 1 1985
Static analysis tools as early indicators of pre-release defect density
Nagappan N., Ball T.  Software engineering (Proceedings of the 27th International Conference on Software Engineering, St. Louis, MO, USA, May 15-21, 2005)580-586, 2005. Type: Proceedings
Feb 10 2006
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy