Partial Evaluation for Class-Based Object-Oriented Languages
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
Automatic program specialization for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Declarative specialization for object-oriented-program specialization
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A tour of tempo: a program specializer for the C language
Science of Computer Programming - Special issue on program transformation
Measuring precision for static and dynamic design pattern recognition as a function of coverage
WODA '05 Proceedings of the third international workshop on Dynamic analysis
Runtime specialization with optimistic heap analysis
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Edicts: implementing features with flexible binding times
Proceedings of the 7th international conference on Aspect-oriented software development
Hi-index | 0.00 |
Design patterns offer many advantages for software development, but can introduce inefficiency into the final program. Program specialization can eliminate such overheads, but is most effective when targeted by the user to specific bottlenecks. Consequently, we propose that these concepts are complementary. Program specialization can optimize programs written using design patterns, and design patterns provide information about the program structure that can guide specialization. Concretely, we propose specialization patterns, which describe how to apply program specialization to optimize uses of design patterns. In this paper, we analyze the specialization opportunities provided by specific uses of design patterns. Based on the analysis of each design pattern, we define the associated specialization pattern. These specialization opportunities can be declared using the specialization classes' framework, developed previously. In our experiments, such specialization significantly improves performance.