Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Prototyping symbolic execution engines for interpreted languages
Bucur S., Kinder J., Candea G.  ASPLOS 2014 (Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, Salt Lake City, UT, Mar 1-5, 2014)239-254.2014.Type:Proceedings
Date Reviewed: Apr 9 2014

While extensive testing is undoubtedly useful, it is also tedious. Automating this task as much as is feasible is an active research area; it has been more successfully applied (until now) to statically typed compiled languages. This work, while not the first of its kind, significantly advances what can be realistically done for interpreted languages.

By slightly instrumenting a language’s own interpreter, correct coverage of the full language is almost trivial to obtain. A few quite clever optimizations then make the results fairly practical. The main point is to be able to differentiate between low-level branching of the interpreter and high-level branching of the interpreted program: the goal is good coverage of the program, not the interpreter. All of the necessary concepts (symbolic execution, instrumentation, what interpreter optimizations to turn off, and others) for understanding the presented ideas are clearly explained; related work is cited when appropriate. The evaluation section is thorough yet informative.

The paper itself is beautifully written, using clear, concrete, and precise language. At all times, the reader sees the high-level picture that the authors are trying to paint, as well as the details that are presented in each section. It is thoroughly motivated, with deftly analyzed experimental results. This is a significant paper, yet the authors do not overstate their case, carefully inserting appropriate caveats where necessary. This paper is an absolute must-read for anyone remotely interested in interpreted languages.

Reviewer:  Jacques Carette Review #: CR142156 (1407-0555)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Symbolic Execution (D.2.5 ... )
 
 
Interpreters (D.3.4 ... )
 
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