ACM Home Page
Please provide us with feedback. Feedback
Componential set-based analysis
Full text PdfPdf (497 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 21 ,  Issue 2  (March 1999) table of contents
Pages: 370 - 416  
Year of Publication: 1999
ISSN:0164-0925
Authors
Cormac Flanagan  Compaq Systems Research Center, Palo Alto, CA
Matthias Felleisen  Rice Univ., Houston, TX
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 24,   Citation Count: 11
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/316686.316703
What is a DOI?

ABSTRACT

Set-based analysis (SBA) produces good predictions about the behavior of functional and object-oriented programs. The analysis proceeds by inferring constraints that characterize the data flow relationships of the analyzed program. Experiences with MrSpidey, a static debugger based on SBA, indicate that SBA can adequately deal with programs of up to a couple of thousand lines of code. SBA fails, however, to cope with larger programs because it generates systems of constraints that are at least linear, and possibility quadratic, in the size of the analyzed program. This article presents theoretical and practical results concerning methods for reducing the size of constraint systems. The theoretical results include of proof-theoretic characterization of the observable behavior of constraint systems for program components, and a complete algorithm for deciding the observable equivalence of constraint systems. In the course of this development we establish a close connection between the observable equivalence of constraint systems and the equivalence of regular-tree grammars. We then exploit this connection to adapt a variety of algoirthms for simplifying grammars to the problem of simplifying constraint systems. Based on the resulting algorithms, we have developed componential set-based analysis, a modular and polymorphic variant of SBA. Experimental results verify the effectiveness of the simplification algorithms and the componential analysis. The simplified constraint systems are typically an order of magnitude smaller than the original systems. These reductions in size produce significant gains in the speed of the analysis.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
BARENDREGT, H.P. 1984. The Lambda Calculus: Its Syntax and Semantics, Revised ed. Studies in Logic and the Foundations of Mathematics, vol. 103. North-Holland, Amsterdam.
4
 
5
DEUTSCH, A. AND HEINTZE, N. 1996. Partial solving of set constraints. Unpublished manuscript.
 
6
7
 
8
 
9
FLANAGAN, C. 1997. Effective static debugging via componential set-based analysis. Ph.D. thesis, Rice University, Houston, Texas.
10
 
11
FLATT, M. 1997. MzScheme reference manual. Technical Report TR97-280, Rice University.
12
 
13
GECSEG, F. AND STEINBY, M. 1984. Tree Automata. Akad6miai Kiadd, Budapest.
14
 
15
HOPCROFT, J. E. 1971. An n log n algorithm for minimizing the states of a finite automaton. The Theory of Machines and Computations, 189-196.
 
16
17
18
19
 
20
PLOTKIN, G. D. 1975. CMl-by-name, cMl-by-vMue, and the N-cMculus. Theor. Comput. Sci. 1, 125-159.
21
 
22
REYNOLDS, J. 1969. Automatic computation of data set defintions. Information Processing'68, 456-461.
 
23
 
24
 
25
 
26

CITED BY  11
 
 
 

Collaborative Colleagues:
Cormac Flanagan: colleagues
Matthias Felleisen: colleagues

Peer to Peer - Readers of this Article have also read: