Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Software validation via scalable path-sensitive value flow analysis
Dor N., Adams S., Das M., Yang Z.  Software testing and analysis (Proceedings of the 2004 ACM SIGSOFT International Symposium on Software Testing and Analysis, Boston, Massachusetts, USA, Jul 11-14, 2004)12-22.2004.Type:Proceedings
Date Reviewed: Sep 9 2004

A new simulation algorithm for inter-procedural, context-sensitive, and path-sensitive value flow analysis is described in this paper. Value flow analysis investigates which memory locations hold a given value; it is used in software validation tools. The challenge for these tools is the development of practical algorithms for large programs. The authors apply known results for memory aliasing and path merging, with implicit representation of value sets, to produce a practical algorithm, which they demonstrate using a software validation tool, ESP.

The topic of the paper is largely formal, but the authors do a good job of giving examples, and providing insight, appropriate repetition, and explanation. The formal part of the paper consists of a pointer assignment language, definitions of value alias sets and transfer functions, and pseudocode for computing the transfer function to obtain the value alias set for a variable created at a given point in a program. The transfer function is defined in terms of “must” and “may” sets. By varying the definition of these sets, the function calculation can trade-off between accuracy and scalability: a larger “must” set corresponds to more accuracy, and a smaller “may” set, to scalability. No formal definition of the transfer function’s action on states was provided, except indirectly in the pseudocode.

The authors briefly summarize related work, and provide references. Results of applying the algorithm to the Windows kernel are given, but comparisons with alternatives are not provided. The paper is of interest to software engineers working on software validation tools and program analysis.

Reviewer:  J. M. Perry Review #: CR130100 (0504-0461)
Bookmark and Share
  Featured Reviewer  
 
Software/ Program Verification (D.2.4 )
 
 
Testing And Debugging (D.2.5 )
 
Would you recommend this review?
yes
no
Other reviews under "Software/Program Verification": Date
Verification of sequential and concurrent programs
Krzysztof R., Olderog E., Springer-Verlag New York, Inc., New York, NY, 1991. Type: Book (9780387975320)
Jul 1 1992
On verification of programs with goto statements
Lifschitz V. (ed) Information Processing Letters 18(4): 221-225, 1984. Type: Article
Mar 1 1985
The validation, verification and testing of software
Ince D. (ed), Oxford University Press, Inc., New York, NY, 1985. Type: Book (9789780198590040)
Sep 1 1987
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