ABSTRACT
We describe a new program-analysis framework, based on CPS and procedure-string abstractions, that can handle critical analyses which the k-CFA framework cannot. We present the main theorems concerning correctness, show an application analysis, and describe a running implementation.
- COUSOT,P., AND COUSOT, R. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Conference Record of the Fourth ACM Symposium on Principles of Programming Languages (POPL) (Los Angeles, California, Jan. 1977), pp. 238--252. Google ScholarDigital Library
- COUSOT,P., AND COUSOT, R. Systematic design of program analysis frameworks. In Proceedings of the Sixth ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (San Antonio, Texas, Jan. 1979), pp. 269--282. Google ScholarDigital Library
- HARRISON, W. L. The interprocedural analysis and automatic parallelization of Scheme programs. Lisp and Symbolic Computation 2, 3/4 (Oct. 1989), 179--396.Google ScholarCross Ref
- HUDAK, P. A semantic model of reference counting and its abstraction (detailed summary). In Proceedings of the 1986 ACMConference on LISP and Functional Programming (Cambridge, Massachusetts, Aug. 1986), pp. 351--363. Google ScholarDigital Library
- KRANZ, D., KELSEY, R., REES, J., HUDAK,P.,PHILBIN, J., AND ADAMS, N. ORBIT: An optimizing compiler for Scheme. In Proceedings of the 1986 SIGPLAN Symposium on Compiler Construction (June 1986), vol. 21, pp. 219--233. Google ScholarDigital Library
- MIGHT, M., AND SHIVERS, O. Environmental analysis of higher-order languages. In preparation. Current draft available at http://matt.might.net/research/drafts/, July 2005.Google Scholar
- MOSSIN,C. Flow Analysis of Typed Higher-Order Programs. PhD thesis, DIKU, University of Copenhagen, Denmark, 1997. Technical Report DIKU-TR-97/1.Google Scholar
- SESTOFT, P. Replacing function parameters by global variables. Master's thesis, DIKU, University of Copenhagen, Denmark, Oct. 1988.Google Scholar
- SHARIR, M., AND PNUELI, A. Two approaches to interprocedural data flow analysis. In Program Flow Analysis, Theory and Application, S. Muchnick and N. Jones, Eds. Prentice Hall International, 1981, ch. 7.Google Scholar
- SHIVERS,O. Control-Flow Analysis of Higher-Order Languages. PhD thesis, School of Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania, May 1991. Technical Report CMU-CS-91-145. Google ScholarDigital Library
- SHIVERS, O., AND FISHER, D. Multi-return function call. Journal of Functional Programming. To appear. Google ScholarDigital Library
- STECKLER,P.,AND WAND, M. Selective thunkification. In Proceedings of the First International Static Analysis Symposium (SAS'94) (Namur, Belgium, Sept. 1994), vol. 864 of Lecture Notes in Computer Science, Springer, pp. 162--178.Google ScholarCross Ref
- STEELE JR., G. L. RABBIT: a compiler for SCHEME. Master's thesis, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, Massachusetts, May 1978. Technical report AI-TR-474. Google ScholarDigital Library
- WAND, M., AND SIVERONI, I. Constraint systems for useless-variable elimination. In Proceedings of the 26th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'99) (San Antonio, Texas, Jan. 1999), pp. 291--302. Google ScholarDigital Library
- WAND, M., AND STECKLER, P. Selective and lightweight closure conversion. In Proceedings of the 21st ACM Symposium on the Principles of Programming Languages (POPL'94) (Portland, Oregon, Jan. 1994), pp. 435--445. Google ScholarDigital Library
Index Terms
- Environment analysis via ΔCFA
Recommendations
Environment analysis via ΔCFA
Proceedings of the 2006 POPL ConferenceWe describe a new program-analysis framework, based on CPS and procedure-string abstractions, that can handle critical analyses which the k-CFA framework cannot. We present the main theorems concerning correctness, show an application analysis, and ...
Improving flow analyses via ΓCFA: abstract garbage collection and counting
ICFP '06: Proceedings of the eleventh ACM SIGPLAN international conference on Functional programmingWe present two independent and complementary improvements for flow-based analysis of higher-order languages: (1) abstract garbage collection and (2) abstract counting, collectively titled ΓCFA.Abstract garbage collection is an analog to its concrete ...
Analyzing the environment structure of higher-order languages using frame strings
Reasoning about program behaviour in programming languages based on the @l calculus requires reasoning in a unified way about control, data and environment structure. Previous analysis work has done an inadequate job on the environment component of this ...
Comments