[LIBRO][B] Principles of program analysis
Program analysis concerns static techniques for computing reliable approximate information
about the dynamic behaviour of programs. Applications include compilers (for code …
about the dynamic behaviour of programs. Applications include compilers (for code …
Optimization of object-oriented programs using static class hierarchy analysis
Optimizing compilers for object-oriented languages apply static class analysis and other
techniques to try to deduce precise information about the possible classes of the receivers of …
techniques to try to deduce precise information about the possible classes of the receivers of …
A framework for call graph construction algorithms
D Grove, C Chambers - ACM Transactions on Programming Languages …, 2001 - dl.acm.org
A large number of call graph construction algorithms for object-oriented and functional
languages have been proposed, each embodying different tradeoffs between analysis cost …
languages have been proposed, each embodying different tradeoffs between analysis cost …
The cartesian product algorithm: Simple and precise type inference of parametric polymorphism
O Agesen - ECOOP'95—Object-Oriented Programming, 9th …, 1995 - Springer
Concrete types and abstract types are different and serve different purposes. Concrete
types, the focus of this paper, are essential to support compilation, application delivery, and …
types, the focus of this paper, are essential to support compilation, application delivery, and …
Optimizing dynamically-dispatched calls with run-time type feedback
Abstrach Object-oriented programs are difficult to optimize because they execute many
dynamically-dispatched calls. These calls cannot easily be eliminated because the compiler …
dynamically-dispatched calls. These calls cannot easily be eliminated because the compiler …
Towards type inference for JavaScript
Object-oriented scripting languages like Javascript and Python are popular partly because
of their dynamic features. These include the runtime modification of objects and classes …
of their dynamic features. These include the runtime modification of objects and classes …
Static type inference for Ruby
Many general-purpose, object-oriented scripting languages are dynamically typed, which
provides flexibility but leaves the programmer without the benefits of static ty**, including …
provides flexibility but leaves the programmer without the benefits of static ty**, including …
Fast and precise hybrid type inference for JavaScript
B Hackett, S Guo - ACM SIGPLAN Notices, 2012 - dl.acm.org
JavaScript performance is often bound by its dynamically typed nature. Compilers do not
have access to static type information, making generation of efficient, type-specialized …
have access to static type information, making generation of efficient, type-specialized …
Mirrors: design principles for meta-level facilities of object-oriented programming languages
G Bracha, D Ungar - ACM SIGPLAN Notices, 2004 - dl.acm.org
We identify three design principles for reflection and metaprogramming facilities in object
oriented programming languages. Encapsulation: meta-level facilities must encapsulate …
oriented programming languages. Encapsulation: meta-level facilities must encapsulate …
[LIBRO][B] Adaptive optimization for SELF: reconciling high performance with exploratory programming
U Holzle - 1994 - search.proquest.com
Crossing abstraction boundaries often incurs a substantial run-time overhead in the form of
frequent procedure calls. Thus, pervasive use of abstraction, while desirable from a design …
frequent procedure calls. Thus, pervasive use of abstraction, while desirable from a design …