Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Disjunctive program analysis for algebraic data types
Jensen T. ACM Transactions on Programming Languages and Systems19 (5):751-803,1997.Type:Article
Date Reviewed: Jun 1 1998

Jensen presents a framework for analyzing uniform program properties (relating to the content of data structures rather than to the structures themselves) in a high-order functional language with recursive data structures. The development starts from a set of general (logic and type-specific) rules and from rules that pertain to the particular analysis being undertaken. Strictness is the central property under consideration throughout, but other properties considered include binding time and dataflow analyses.

Notation is a potential problem in any work that bridges so many topics. The “box” and “diamond” symbols have nonstandard interpretations as do t (here indicating that we know everything--no specific information) and f (here indicating “undefined”). These are reasonable, but initially confusing, particularly because t and f are distinct from the Boolean constants. The author does point this out.

For each expression in the language, we can derive a normal form consisting of a disjunction of irreducible formulas. Entailment gives rise to provable equality, which is then used to quotient out equivalent expressions, giving a partial-order semantics. Hence, we can calculate an abstract interpretation for each expression in terms of lower sets. Although there are issues that make direct application of the theory impractical, the results are interesting and can be used in conjunction with the work of others. The paper is well motivated and includes adequate explanations. The relationship between this research and the work of others is discussed at length. Its association with tensor products is particularly relevant.

Reviewer:  D. J. Cooke Review #: CR121470 (9806-0426)
Bookmark and Share
 
Assertion Checkers (D.2.4 ... )
 
 
Applicative (Functional) Languages (D.3.2 ... )
 
 
Denotational Semantics (F.3.2 ... )
 
 
Optimization (D.3.4 ... )
 
 
Pre- And Post-Conditions (F.3.1 ... )
 
 
Procedures, Functions, And Subroutines (D.3.3 ... )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Assertion Checkers": Date
Efficient and effective array bound checking
Nguyen T., Irigoin F. ACM Transactions on Programming Languages and Systems 27(3): 527-570, 2005. Type: Article
Sep 2 2005
A calculus of atomic actions
Elmas T., Qadeer S., Tasiran S.  POPL 2009 (Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Savannah, GA, Jan 21-23, 2009)2-15, 2008. Type: Proceedings
Mar 16 2009
Improving application security with data flow assertions
Yip A., Wang X., Zeldovich N., Kaashoek M.  SOSP 2009 (Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, Big Sky, MT, Oct 11-14, 2009)291-304, 2009. Type: Proceedings
Jan 18 2010
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