| Simple and effective analysis of statically-typed object-oriented programs |
| Full text |
Pdf
(1.70 MB)
|
| Source
|
Conference on Object Oriented Programming Systems Languages and Applications
archive
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
table of contents
San Jose, California, United States
Pages: 292 - 305
Year of Publication: 1996
ISBN:0-89791-788-X
Also published in ...
|
|
Authors
|
|
Amer Diwan
|
Department of Computer Science, University of Massachusetts, Amherst, MA
|
|
J. Eliot B. Moss
|
Department of Computer Science, University of Massachusetts, Amherst, MA
|
|
Kathryn S. McKinley
|
Department of Computer Science, University of Massachusetts, Amherst, MA
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 6, Downloads (12 Months): 30, Citation Count: 37
|
|
|
ABSTRACT
To use modern hardware effectively, compilers need extensive control-flow information. Unfortunately, the frequent method invocations in object-oriented languages obscure control flow. In this paper, we describe and evaluate a range of analysis techniques to convert method invocations into direct calls for statically-typed object-oriented languages and thus improve control-flow information in object-oriented languages. We present simple algorithms for type hierarchy analysis, aggregate analysis, and interprocedural and intraprocedural type propagation. These algorithms are also fast, O(|procedures| * ∑pprocedure np * vp) worst case time (linear in practice) for our slowest analysis, where np is the size of procedure p and vp is the number of variables in procedure p, and are thus practical for use in a compiler. When they fail, we introduce cause analysis to reveal the source of imprecision and suggest where more powerful algorithms may be warranted. We show that our simple analyses perform almost as well as an oracle that resolves all method invocations that invoke only a single procedure.
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
|
Ole Agesen , Urs Hölzle, Type feedback vs. concrete type inference: a comparison of optimization techniques for object-oriented languages, Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, p.91-107, October 15-19, 1995, Austin, Texas, United States
|
| |
2
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
3
|
|
 |
4
|
David F. Bacon , Peter F. Sweeney, Fast static analysis of C++ virtual function calls, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.324-341, October 06-10, 1996, San Jose, California, United States
|
 |
5
|
|
| |
6
|
|
 |
7
|
|
 |
8
|
|
 |
9
|
|
| |
10
|
|
| |
11
|
Digital Equipment Corporation. DEC3000 300/400/500/600/800 Models: System Programmer's Manual, first printing edition, September 1993.
|
 |
12
|
|
 |
13
|
David Grove , Jeffrey Dean , Charles Garrett , Craig Chambers, Profile-guided receiver class prediction, Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, p.108-123, October 15-19, 1995, Austin, Texas, United States
|
| |
14
|
Mary Wolcott Hall. Managing InterproceduralOptimizat PhD thesis, Rice University, Houston, Texas, April 1991.
|
 |
15
|
|
| |
16
|
Bill Kalsow and Eric Muller. SRC Modula-3 Version 3.5. Systems Research Center, Digital Equipment Corporatior Palo Alto, CA, 1995.
|
| |
17
|
J.B. Kam and J. D. Ullman. Global data flow analysis an iterative algorithms. Journal of the ACM, 7(3):305-318, 1
|
| |
18
|
|
| |
19
|
|
 |
20
|
Jens Palsberg , Michael I. Schwartzbach, Object-oriented type inference, Conference proceedings on Object-oriented programming systems, languages, and applications, p.146-161, October 06-11, 1991, Phoenix, Arizona, United States
|
| |
21
|
Hemant Pande and Barbara G Ryder. Static type determination and aliasing for C++. Technical Report LCSR-TR-250, Rutgers University, July 1995.
|
 |
22
|
John Plevyak , Andrew A. Chien, Precise concrete type inference for object-oriented languages, Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications, p.324-340, October 23-28, 1994, Portland, Oregon, United States
|
| |
23
|
|
CITED BY 37
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Vijay Sundaresan , Laurie Hendren , Chrislain Razafimahefa , Raja Vallée-Rai , Patrick Lam , Etienne Gagnon , Charles Godin, Practical virtual method call resolution for Java, ACM SIGPLAN Notices, v.35 n.10, p.264-280, Oct. 2000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ramkrishna Chatterjee , Barbara G. Ryder , William A. Landi, Relevant context inference, Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.133-146, January 20-22, 1999, San Antonio, Texas, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Derek Rayside , Martin Litoiu , Margaret-Anne Storey , Casey Best, Integrating SHriMP with the IBM websphere studio workbench, Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research, p.14, November 05-07, 2001, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
Surupa Biswas , Matthew Simpson , Rajeev Barua, Memory overflow protection for embedded systems using run-time checks, reuse and compression, Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems, September 22-25, 2004, Washington DC, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Surupa Biswas , Thomas Carley , Matthew Simpson , Bhuvan Middha , Rajeev Barua, Memory overflow protection for embedded systems using run-time checks, reuse, and compression, ACM Transactions on Embedded Computing Systems (TECS), v.5 n.4, p.719-752, November 2006
|
|
|
|
|
|
|
|
|
Shay Artzi , Adam Kiezun , David Glasser , Michael D. Ernst, Combined static and dynamic mutability analysis, Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, November 05-09, 2007, Atlanta, Georgia, USA
|
|
|
|
|
|
Shay Artzi , Adam Kieżun , Jaime Quinonez , Michael D. Ernst, Parameter reference immutability: formal definition, inference tool, and comparison, Automated Software Engineering, v.16 n.1, p.145-192, March 2009
|
|